PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PHashTableInfo Class Reference

#include <dict.h>

Inheritance diagram for PHashTableInfo:
Collaboration diagram for PHashTableInfo:

Public Member Functions

 PHashTableInfo (PINDEX initialSize=0)
 
 PHashTableInfo (PHashTableList const *buffer, PINDEX length, PBoolean dynamic=true)
 
virtual PObjectClone () const
 Clone the object. More...
 
virtual ~PHashTableInfo ()
 
virtual void DestroyContents ()
 Destroy the container contents. More...
 
void AppendElement (PObject *key, PObject *data PTRACE_PARAM(, PHashTable *owner))
 
PObjectRemoveElement (const PObject &key)
 
PHashTableElementGetElementAt (PINDEX index)
 
PHashTableElementGetElementAt (const PObject &key)
 
PINDEX GetElementsIndex (const PObject *obj, PBoolean byVal, PBoolean keys) const
 
PHashTableElementNextElement (PHashTableElement *element) const
 
PHashTableElementPrevElement (PHashTableElement *element) const
 
- Public Member Functions inherited from PBaseArray< PHashTableList >
 PBaseArray (PINDEX initialSize=0)
 Construct a new dynamic array of elements of the specified type. More...
 
 PBaseArray (PHashTableListconst *buffer, PINDEX length, PBoolean dynamic=true)
 Construct a new dynamic array of elements of the specified type. More...
 
PBoolean SetAt (PINDEX index, PHashTableListval)
 Set the specific element in the array. More...
 
PHashTableList GetAt (PINDEX index) const
 Get a value from the array. More...
 
void Attach (const PHashTableList *buffer, PINDEX bufferSize)
 Attach a pointer to a static block to the base array type. More...
 
PHashTableListGetPointer (PINDEX minSize=0)
 Get a pointer to the internal array and assure that it is of at least the specified size. More...
 
PHashTableList operator[] (PINDEX index) const
 Get a value from the array. More...
 
PHashTableListoperator[] (PINDEX index)
 Get a reference to value from the array. More...
 
 operator PHashTableListconst * () const
 Get a pointer to the internal array. More...
 
PBoolean Concatenate (const PBaseArray &array)
 Concatenate one array to the end of this array. More...
 
- Public Member Functions inherited from PAbstractArray
 PAbstractArray (PINDEX elementSizeInBytes, PINDEX initialSize=0)
 Create a new dynamic array of initalSize elements of elementSizeInBytes bytes each. More...
 
 PAbstractArray (PINDEX elementSizeInBytes, const void *buffer, PINDEX bufferSizeInElements, PBoolean dynamicAllocation)
 Create a new dynamic array of bufferSizeInElements elements of elementSizeInBytes bytes each. More...
 
virtual void PrintOn (ostream &strm) const
 Output the contents of the object to the stream. More...
 
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 
virtual Comparison Compare (const PObject &obj) const
 Get the relative rank of the two arrays. More...
 
virtual PBoolean SetSize (PINDEX newSize)
 Set the size of the array in elements. More...
 
void Attach (const void *buffer, PINDEX bufferSize)
 Attach a pointer to a static block to the base array type. More...
 
void * GetPointer (PINDEX minSize=1)
 Get a pointer to the internal array and assure that it is of at least the specified size. More...
 
PBoolean Concatenate (const PAbstractArray &array)
 Concatenate one array to the end of this array. More...
 
- Public Member Functions inherited from PContainer
 PContainer (PINDEX initialSize=0)
 Create a new unique container. More...
 
 PContainer (const PContainer &cont)
 Create a new refernce to container. More...
 
PContaineroperator= (const PContainer &cont)
 Assign one container reference to another. More...
 
virtual ~PContainer ()
 Destroy the container class. More...
 
virtual PINDEX GetSize () const
 Get the current size of the container. More...
 
__inline size_t size () const
 
PBoolean SetMinSize (PINDEX minSize)
 Set the minimum size of container. More...
 
virtual PBoolean IsEmpty () const
 Determine if the container is empty. More...
 
__inline bool empty () const
 
PBoolean IsUnique () const
 Determine if container is unique reference. More...
 
virtual PBoolean MakeUnique ()
 Make this instance to be the one and only reference to the container contents. More...
 
- Public Member Functions inherited from PObject
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. More...
 
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class. More...
 
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects. More...
 
bool operator== (const PObject &obj) const
 Compare the two objects. More...
 
bool operator!= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator< (const PObject &obj) const
 Compare the two objects. More...
 
bool operator> (const PObject &obj) const
 Compare the two objects. More...
 
bool operator<= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator>= (const PObject &obj) const
 Compare the two objects. More...
 
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance. More...
 
PBoolean IsClass (const char *cls) const
 
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class. More...
 
__inline const PObjectPTraceObjectInstance () const
 

Public Attributes

PBoolean deleteKeys
 

Additional Inherited Members

- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...
 
- Static Public Member Functions inherited from PObject
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
static const char * Class ()
 Get the name of the class as a C string. More...
 
static __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 
- Protected Member Functions inherited from PBaseArray< PHashTableList >
 PBaseArray (PContainerReference &reference_)
 
virtual void PrintElementOn (ostream &stream, PINDEX index) const
 
- Protected Attributes inherited from PAbstractArray
PINDEX elementSize
 Size of an element in bytes. More...
 
char * theArray
 Pointer to the allocated block of memory. More...
 
PBoolean allocatedDynamically
 Flag indicating the array was allocated on the heap. More...
 
- Friends inherited from PObject

Constructor & Destructor Documentation

PHashTableInfo::PHashTableInfo ( PINDEX  initialSize = 0)
inline

Referenced by Clone().

PHashTableInfo::PHashTableInfo ( PHashTableList const *  buffer,
PINDEX  length,
PBoolean  dynamic = true 
)
inline
virtual PHashTableInfo::~PHashTableInfo ( )
inlinevirtual

Member Function Documentation

void PHashTableInfo::AppendElement ( PObject key,
PObject *data   PTRACE_PARAM, PHashTable *owner 
)
virtual PObject* PHashTableInfo::Clone ( ) const
inlinevirtual

Clone the object.

Reimplemented from PBaseArray< PHashTableList >.

References PContainer::GetSize(), PHashTableInfo(), and PNEW.

virtual void PHashTableInfo::DestroyContents ( )
virtual

Destroy the container contents.

This function must be defined by the descendent class to do the actual destruction of the contents. It is automatically declared when the PCONTAINERINFO() macro is used.

For all descendent classes not immediately inheriting off the PContainer itself, the implementation of DestroyContents() should always call its ancestors function. This is especially relevent if many of the standard container classes, such as arrays, are descended from as memory leaks will occur.

Implements PContainer.

PHashTableElement* PHashTableInfo::GetElementAt ( PINDEX  index)
PHashTableElement* PHashTableInfo::GetElementAt ( const PObject key)
PINDEX PHashTableInfo::GetElementsIndex ( const PObject obj,
PBoolean  byVal,
PBoolean  keys 
) const
PHashTableElement* PHashTableInfo::NextElement ( PHashTableElement element) const
PHashTableElement* PHashTableInfo::PrevElement ( PHashTableElement element) const
PObject* PHashTableInfo::RemoveElement ( const PObject key)

Member Data Documentation

PBoolean PHashTableInfo::deleteKeys

The documentation for this class was generated from the following file: