Go to the source code of this file.
Classes | |
struct | PListElement |
struct | PListInfo |
class | PAbstractList |
struct | PSortedListElement |
struct | PSortedListInfo |
class | PAbstractSortedList |
Defines | |
#define | PLIST(cls, T) |
#define | PDECLARE_LIST(cls, T) |
#define | PQUEUE(cls, T) |
#define | PDECLARE_QUEUE(cls, T) |
#define | PSTACK(cls, T) |
#define | PDECLARE_STACK(cls, T) |
#define | PSORTED_LIST(cls, T) |
#define | PDECLARE_SORTED_LIST(cls, T) |
#define PDECLARE_LIST | ( | cls, | |||
T | ) |
Value:
PLIST(cls##_PTemplate, T); \ PDECLARE_CLASS(cls, cls##_PTemplate) \ protected: \ cls(int dummy, const cls * c) \ : cls##_PTemplate(dummy, c) { } \ public: \ cls() \ : cls##_PTemplate() { } \ virtual PObject * Clone() const \ { return PNEW cls(0, this); } \
#define PDECLARE_QUEUE | ( | cls, | |||
T | ) |
Value:
PQUEUE(cls##_PTemplate, T); \ PDECLARE_CLASS(cls, cls##_PTemplate) \ protected: \ cls(int dummy, const cls * c) \ : cls##_PTemplate(dummy, c) { } \ public: \ cls() \ : cls##_PTemplate() { } \ virtual PObject * Clone() const \ { return PNEW cls(0, this); } \
#define PDECLARE_SORTED_LIST | ( | cls, | |||
T | ) |
Value:
PSORTED_LIST(cls##_PTemplate, T); \ PDECLARE_CLASS(cls, cls##_PTemplate) \ protected: \ cls(int dummy, const cls * c) \ : cls##_PTemplate(dummy, c) { } \ public: \ cls() \ : cls##_PTemplate() { } \ virtual PObject * Clone() const \ { return PNEW cls(0, this); } \
#define PDECLARE_STACK | ( | cls, | |||
T | ) |
Value:
PSTACK(cls##_PTemplate, T); \ PDECLARE_CLASS(cls, cls##_PTemplate) \ protected: \ cls(int dummy, const cls * c) \ : cls##_PTemplate(dummy, c) { } \ public: \ cls() \ : cls##_PTemplate() { } \ virtual PObject * Clone() const \ { return PNEW cls(0, this); } \
#define PLIST | ( | cls, | |||
T | ) |
Value:
class cls : public PAbstractList { \ PCLASSINFO(cls, PAbstractList); \ protected: \ inline cls(int dummy, const cls * c) \ : PAbstractList(dummy, c) { } \ public: \ inline cls() \ : PAbstractList() { } \ virtual PObject * Clone() const \ { return PNEW cls(0, this); } \ inline T & operator[](PINDEX index) const \ { return (T &)GetReferenceAt(index); } \ }
#define PQUEUE | ( | cls, | |||
T | ) |
Value:
class cls : public PAbstractList { \ PCLASSINFO(cls, PAbstractList); \ protected: \ inline cls(int dummy, const cls * c) \ : PAbstractList(dummy, c) \ { reference->deleteObjects = c->reference->deleteObjects; } \ public: \ inline cls() \ : PAbstractList() { DisallowDeleteObjects(); } \ virtual PObject * Clone() const \ { return PNEW cls(0, this); } \ virtual void Enqueue(T * t) \ { PAbstractList::Append(t); } \ virtual T * Dequeue() \ { if (GetSize() == 0) return NULL; else return (T *)PAbstractList::RemoveAt(0);} \ }
#define PSORTED_LIST | ( | cls, | |||
T | ) |
Value:
class cls : public PAbstractSortedList { \ PCLASSINFO(cls, PAbstractSortedList); \ protected: \ inline cls(int dummy, const cls * c) \ : PAbstractSortedList(dummy, c) { } \ public: \ inline cls() \ : PAbstractSortedList() { } \ virtual PObject * Clone() const \ { return PNEW cls(0, this); } \ inline T & operator[](PINDEX index) const \ { return *(T *)GetAt(index); } \ }
#define PSTACK | ( | cls, | |||
T | ) |
Value:
class cls : public PAbstractList { \ PCLASSINFO(cls, PAbstractList); \ protected: \ inline cls(int dummy, const cls * c) \ : PAbstractList(dummy, c) \ { reference->deleteObjects = c->reference->deleteObjects; } \ public: \ inline cls() \ : PAbstractList() { DisallowDeleteObjects(); } \ virtual PObject * Clone() const \ { return PNEW cls(0, this); } \ virtual void Push(T * t) \ { PAbstractList::InsertAt(0, t); } \ virtual T * Pop() \ { PAssert(GetSize() > 0, PStackEmpty); return (T *)PAbstractList::RemoveAt(0); } \ virtual T & Top() \ { PAssert(GetSize() > 0, PStackEmpty); return *(T *)GetAt(0); } \ }