GClasses
|
Hash table based on keys of constant strings (or at least strings that won't change during the lifetime of the hash table). It's a good idea to use a GHeap in connection with this class. More...
#include <GHashTable.h>
Public Member Functions | |
GConstStringHashTable (size_t nInitialBucketCount, bool bCaseSensitive) | |
virtual | ~GConstStringHashTable () |
virtual size_t | hash (const char *pKey, size_t nBucketCount) |
Computes a hash of the key. | |
virtual bool | areKeysEqual (const char *pKey1, const char *pKey2) |
Returns true iff the two keys are equal. | |
void | add (const char *pKey, const void *pValue) |
Adds a key and value pair to the hash table. The key should be a constant string (or at least a string that won't change over the lifetime of the hash table). The GHeap class provides a good place to store such a string. | |
template<class T > | |
bool | get (const char *pKey, T **ppOutValue) |
Gets the value for the specified key. | |
bool | get (const char *pKey, size_t nLen, void **ppOutValue) |
Gets the value for the specified key. | |
void | remove (const char *pKey) |
Removes an entry from the hash table. | |
Protected Attributes | |
bool | m_bCaseSensitive |
Hash table based on keys of constant strings (or at least strings that won't change during the lifetime of the hash table). It's a good idea to use a GHeap in connection with this class.
GClasses::GConstStringHashTable::GConstStringHashTable | ( | size_t | nInitialBucketCount, |
bool | bCaseSensitive | ||
) | [inline] |
virtual GClasses::GConstStringHashTable::~GConstStringHashTable | ( | ) | [inline, virtual] |
void GClasses::GConstStringHashTable::add | ( | const char * | pKey, |
const void * | pValue | ||
) | [inline] |
Adds a key and value pair to the hash table. The key should be a constant string (or at least a string that won't change over the lifetime of the hash table). The GHeap class provides a good place to store such a string.
virtual bool GClasses::GConstStringHashTable::areKeysEqual | ( | const char * | pKey1, |
const char * | pKey2 | ||
) | [inline, virtual] |
Returns true iff the two keys are equal.
Implements GClasses::GHashTableBase.
bool GClasses::GConstStringHashTable::get | ( | const char * | pKey, |
size_t | nLen, | ||
void ** | ppOutValue | ||
) |
Gets the value for the specified key.
bool GClasses::GConstStringHashTable::get | ( | const char * | pKey, |
T ** | ppOutValue | ||
) | [inline] |
Gets the value for the specified key.
virtual size_t GClasses::GConstStringHashTable::hash | ( | const char * | pKey, |
size_t | nBucketCount | ||
) | [inline, virtual] |
Computes a hash of the key.
Implements GClasses::GHashTableBase.
void GClasses::GConstStringHashTable::remove | ( | const char * | pKey | ) | [inline] |
Removes an entry from the hash table.
bool GClasses::GConstStringHashTable::m_bCaseSensitive [protected] |