98 virtual void PrintOn(ostream & strm)
const;
105 PINLINE operator PINDEX()
const;
155 virtual ~PHashTableInfo() { Destruct(); }
156 virtual void DestroyContents();
490 ) {
Append(obj.Clone());
return *
this; }
574 #define PSET(cls, T) typedef PSet<T> cls
588 #define PDECLARE_SET(cls, T, initDelObj) \
589 PSET(cls##_PTemplate, T); \
590 PDECLARE_CLASS(cls, cls##_PTemplate) \
592 cls(int dummy, const cls * c) \
593 : cls##_PTemplate(dummy, c) { } \
595 cls(PBoolean initialDeleteObjects = initDelObj) \
596 : cls##_PTemplate(initialDeleteObjects) { } \
597 virtual PObject * Clone() const \
598 { return PNEW cls(0, this); } \
797 virtual PINDEX Append(
987 #define PDICTIONARY(cls, K, D) typedef PDictionary<K, D> cls
1002 #define PDECLARE_DICTIONARY(cls, K, D) \
1003 PDICTIONARY(cls##_PTemplate, K, D); \
1004 PDECLARE_CLASS(cls, cls##_PTemplate) \
1006 cls(int dummy, const cls * c) \
1007 : cls##_PTemplate(dummy, c) { } \
1010 : cls##_PTemplate() { } \
1011 virtual PObject * Clone() const \
1012 { return PNEW cls(0, this); } \
1180 #define PORDINAL_DICTIONARY(cls, K) typedef POrdinalDictionary<K> cls
1197 #define PDECLARE_ORDINAL_DICTIONARY(cls, K) \
1198 PORDINAL_DICTIONARY(cls##_PTemplate, K); \
1199 PDECLARE_CLASS(cls, POrdinalDictionary<K>) \
1201 cls(int dummy, const cls * c) \
1202 : cls##_PTemplate(dummy, c) { } \
1205 : cls##_PTemplate() { } \
1206 virtual PObject * Clone() const \
1207 { return PNEW cls(0, this); } \
1210 #endif // PTLIB_DICT_H