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

CascadeHashTable< KEY, DATA > Class Template Reference

a template based hash table class More...

#include <cascade/util/CascadeHashTable.h>

Inheritance diagram for CascadeHashTable< KEY, DATA >:

CascadeObject List of all members.

Public Types

typedef bool() EntryEnumProc (const KEY &key, const DATA &data, void *pClientData)

Public Member Functions

 CascadeHashTable (u32 nInitialTableSize=kMinTableSize)
virtual ~CascadeHashTable ()
bool SetAt (const KEY &key, const DATA &data)
bool GetAt (const KEY &key, DATA &dataToSet) const
u32 GetSize () const
bool RemoveAt (const KEY &key)
void RemoveAllEntries ()
bool EnumerateEntries (EntryEnumProc *pEnumProc, void *pClientData) const

Protected Types

enum  { kMinTableSize = 8, kExpansionFactor = 3 }

Protected Member Functions

void ExpandTable ()

Protected Attributes

u32 m_nSize
CascadeNewArray< KeyDataPair * > m_table

Classes

class  KeyDataPair

Detailed Description

template<class KEY, class DATA>
class CascadeHashTable< KEY, DATA >

a template based hash table class

Skip the description

CascadeHashTable allows mapping keys to values for arbitrary key and value types - even C++ class objects. Comparison functions are provided for some common key/value pairings, and the client can provide their own comparison functions if necessary


class CascadeHashTable


Member Typedef Documentation

template<class KEY, class DATA>
typedef bool() CascadeHashTable< KEY, DATA >::EntryEnumProc(const KEY &key, const DATA &data, void *pClientData)
 


Member Enumeration Documentation

template<class KEY, class DATA>
anonymous enum [protected]
 

Enumeration values:
kMinTableSize 
kExpansionFactor 


Constructor & Destructor Documentation

template<class KEY, class DATA>
CascadeHashTable< KEY, DATA >::CascadeHashTable u32  nInitialTableSize = kMinTableSize  ) 
 

template<class KEY, class DATA>
CascadeHashTable< KEY, DATA >::~CascadeHashTable  )  [virtual]
 


Member Function Documentation

template<class KEY, class DATA>
bool CascadeHashTable< KEY, DATA >::EnumerateEntries EntryEnumProc pEnumProc,
void *  pClientData
const
 

template<class KEY, class DATA>
void CascadeHashTable< KEY, DATA >::ExpandTable  )  [protected]
 

template<class KEY, class DATA>
bool CascadeHashTable< KEY, DATA >::GetAt const KEY &  key,
DATA &  dataToSet
const
 

template<class KEY, class DATA>
u32 CascadeHashTable< KEY, DATA >::GetSize  )  const [inline]
 

template<class KEY, class DATA>
void CascadeHashTable< KEY, DATA >::RemoveAllEntries  ) 
 

template<class KEY, class DATA>
bool CascadeHashTable< KEY, DATA >::RemoveAt const KEY &  key  ) 
 

template<class KEY, class DATA>
bool CascadeHashTable< KEY, DATA >::SetAt const KEY &  key,
const DATA &  data
 


Member Data Documentation

template<class KEY, class DATA>
u32 CascadeHashTable< KEY, DATA >::m_nSize [protected]
 

template<class KEY, class DATA>
CascadeNewArray<KeyDataPair *> CascadeHashTable< KEY, DATA >::m_table [protected]
 


The documentation for this class was generated from the following file:
Generated on Sun Jul 24 14:27:19 2005 for Cascade Library by  doxygen 1.4.1