blob: 50f3eff025f6c454e4bb7fe545f55f087e9edace (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#ifndef _QV_PLIST_
#define _QV_PLIST_
#include <QvBasic.h>
class QvPList {
public:
QvPList();
~QvPList();
void append(void * ptr)
{ if (nPtrs + 1 > ptrsSize) expand(nPtrs + 1);
ptrs[nPtrs++] = ptr; }
int find(const void *ptr) const;
void remove(int which);
int getLength() const { return (int) nPtrs; }
void truncate(int start)
{ nPtrs = start; }
void *& operator [](int i) const { return ptrs[i]; }
private:
void ** ptrs;
int nPtrs;
int ptrsSize;
void setSize(int size)
{ if (size > ptrsSize) expand(size); nPtrs = size; }
void expand(int size);
};
#endif /* _QV_PLIST_ */
|