Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

lists.h File Reference

Go to the source code of this file.

Classes

class  PAbstractList
class  PAbstractList::Element
class  PAbstractList::Info
class  PAbstractSortedList
struct  PAbstractSortedList::Element
struct  PAbstractSortedList::Info

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 Documentation

#define PDECLARE_LIST cls,
 ) 
 

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,
 ) 
 

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,
 ) 
 

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,
 ) 
 

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,
 ) 
 

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,
 ) 
 

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,
 ) 
 

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,
 ) 
 

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); } \ }


Generated on Sat Jul 24 15:35:57 2004 for PWLib by doxygen 1.3.7