dict.h File Reference

#include <ptlib/array.h>

Go to the source code of this file.

Classes

class  POrdinalKey
struct  PHashTableElement
class  PHashTable
class  PAbstractSet
class  PAbstractDictionary

Defines

#define PSET(cls, K)
#define PDECLARE_SET(cls, K, initDelObj)
#define PDICTIONARY(cls, K, D)
#define PDECLARE_DICTIONARY(cls, K, D)
#define PORDINAL_DICTIONARY(cls, K)
#define PDECLARE_ORDINAL_DICTIONARY(cls, K)

Functions

 PSET (POrdinalSet, POrdinalKey)


Define Documentation

#define PDECLARE_DICTIONARY ( cls,
K,
 ) 

Value:

PDICTIONARY(cls##_PTemplate, K, D); \
  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_ORDINAL_DICTIONARY ( cls,
 ) 

Value:

PORDINAL_DICTIONARY(cls##_PTemplate, K); \
  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_SET ( cls,
K,
initDelObj   ) 

Value:

PSET(cls##_PTemplate, K); \
 PDECLARE_CLASS(cls, cls##_PTemplate) \
  protected: \
    inline cls(int dummy, const cls * c) \
      : cls##_PTemplate(dummy, c) { } \
  public: \
    inline cls(BOOL initialDeleteObjects = initDelObj) \
      : cls##_PTemplate() { AllowDeleteObjects(initialDeleteObjects); } \
    virtual PObject * Clone() const \
      { return PNEW cls(0, this); } \

#define PDICTIONARY ( cls,
K,
 ) 

Value:

class cls : public PAbstractDictionary { \
  PCLASSINFO(cls, PAbstractDictionary); \
  protected: \
    inline cls(int dummy, const cls * c) \
      : PAbstractDictionary(dummy, c) { } \
  public: \
    cls() \
      : PAbstractDictionary() { } \
    virtual PObject * Clone() const \
      { return PNEW cls(0, this); } \
    D & operator[](const K & key) const \
      { return (D &)GetRefAt(key); } \
    virtual BOOL Contains(const K & key) const \
      { return AbstractContains(key); } \
    virtual D * RemoveAt(const K & key) \
      { D * obj = GetAt(key); AbstractSetAt(key, NULL); return obj; } \
    virtual BOOL SetAt(const K & key, D * obj) \
      { return AbstractSetAt(key, obj); } \
    virtual D * GetAt(const K & key) const \
      { return (D *)AbstractGetAt(key); } \
    const K & GetKeyAt(PINDEX index) const \
      { return (const K &)AbstractGetKeyAt(index); } \
    D & GetDataAt(PINDEX index) const \
      { return (D &)AbstractGetDataAt(index); } \
  }

#define PORDINAL_DICTIONARY ( cls,
 ) 

Value:

class cls : public PAbstractDictionary { \
  PCLASSINFO(cls, PAbstractDictionary); \
  protected: \
    inline cls(int dummy, const cls * c) \
      : PAbstractDictionary(dummy, c) { } \
  public: \
    inline cls() \
      : PAbstractDictionary() { } \
    virtual PObject * Clone() const \
      { return PNEW cls(0, this); } \
    inline PINDEX operator[](const K & key) const \
      { return (POrdinalKey &)GetRefAt(key); } \
    virtual BOOL Contains(const K & key) const \
      { return AbstractContains(key); } \
    virtual POrdinalKey * GetAt(const K & key) const \
      { return (POrdinalKey *)AbstractGetAt(key); } \
    virtual BOOL SetDataAt(PINDEX index, PINDEX ordinal) \
      { return PAbstractDictionary::SetDataAt(index, PNEW POrdinalKey(ordinal)); } \
    virtual BOOL SetAt(const K & key, PINDEX ordinal) \
      { return AbstractSetAt(key, PNEW POrdinalKey(ordinal)); } \
    virtual PINDEX RemoveAt(const K & key) \
      { PINDEX ord = *GetAt(key); AbstractSetAt(key, NULL); return ord; } \
    inline const K & GetKeyAt(PINDEX index) const \
      { return (const K &)AbstractGetKeyAt(index); } \
    inline PINDEX GetDataAt(PINDEX index) const \
      { return (POrdinalKey &)AbstractGetDataAt(index); } \
  }

#define PSET ( cls,
 ) 

Value:

class cls : public PAbstractSet { \
  PCLASSINFO(cls, PAbstractSet); \
  protected: \
    inline cls(int dummy, const cls * c) \
      : PAbstractSet(dummy, c) \
      { reference->deleteObjects = c->reference->deleteObjects; } \
  public: \
    inline cls(BOOL initialDeleteObjects = FALSE) \
      : PAbstractSet() { AllowDeleteObjects(initialDeleteObjects); } \
    virtual PObject * Clone() const \
      { return PNEW cls(0, this); } \
    inline void Include(const PObject * key) \
      { Append((PObject *)key); } \
    inline void Exclude(const PObject * key) \
      { Remove(key); } \
    inline BOOL operator[](const K & key) const \
        { return AbstractContains(key); } \
    inline BOOL Contains(const K & key) const \
        { return AbstractContains(key); } \
    virtual const K & GetKeyAt(PINDEX index) const \
      { return (const K &)AbstractGetKeyAt(index); } \
  }


Function Documentation

PSET ( POrdinalSet  ,
POrdinalKey   
)


Generated on Fri Mar 7 06:25:03 2008 for PTLib by  doxygen 1.5.1