Public Member Functions | |
DcmHashDict (int hashTabLen=DCMHASHDICT_DEFAULT_HASHSIZE) | |
constructor | |
~DcmHashDict () | |
destructor | |
int | size () const |
counts total number of entries | |
void | clear () |
clears the hash table of all entries | |
void | put (DcmDictEntry *e) |
inserts an entry into hash table (deletes old entry if present) | |
const DcmDictEntry * | get (const DcmTagKey &key, const char *privCreator) const |
hash table lookup for the given tag key and private creator name. | |
void | del (const DcmTagKey &k, const char *privCreator) |
deletes the entry for the given tag and private creator | |
DcmHashDictIterator | begin () const |
returns iterator to start of hash table | |
DcmHashDictIterator | end () const |
returns iterator to end of hash table | |
STD_NAMESPACE ostream & | loadSummary (STD_NAMESPACE ostream &out) |
prints some information about hash table bucket utilization | |
Private Member Functions | |
DcmHashDict (const DcmHashDict &) | |
private unimplemented copy constructor | |
DcmHashDict & | operator= (const DcmHashDict &) |
private unimplemented copy assignment operator | |
void | _init (int hashSize) |
performs initialization for given hash table size, called from constructor | |
int | hash (const DcmTagKey *k) const |
compute hash value for given tag key | |
DcmDictEntry * | insertInList (DcmDictEntryList &lst, DcmDictEntry *e) |
inserts new entry into given list | |
DcmDictEntry * | removeInList (DcmDictEntryList &lst, const DcmTagKey &k, const char *privCreator) |
removes the entry for the given tag and private creator | |
DcmDictEntry * | findInList (DcmDictEntryList &lst, const DcmTagKey &k, const char *privCreator) const |
searcjes entry for the given tag and private creator | |
Private Attributes | |
DcmDictEntryList ** | hashTab |
array of (hash table size) pointers to DcmDictEntryList elements implementing the different buckets of the hash table | |
int | hashTabLength |
number of buckets in hash table | |
int | lowestBucket |
index of lowest bucket for which the DcmDictEntryList has been initialized | |
int | highestBucket |
index of highest bucket for which the DcmDictEntryList has been initialized | |
int | entryCount |
number of entries in hash table | |
Friends | |
class | DcmHashDictIterator |
Definition at line 208 of file dchashdi.h.
DcmHashDict::DcmHashDict | ( | int | hashTabLen = DCMHASHDICT_DEFAULT_HASHSIZE |
) | [inline] |
constructor
hashTabLen | number of buckets in hash table |
Definition at line 215 of file dchashdi.h.
References _init().
void DcmHashDict::put | ( | DcmDictEntry * | e | ) |
inserts an entry into hash table (deletes old entry if present)
e | pointer to new entry |
const DcmDictEntry* DcmHashDict::get | ( | const DcmTagKey & | key, | |
const char * | privCreator | |||
) | const |
hash table lookup for the given tag key and private creator name.
key | tag key | |
privCreator | private creator name, may be NULL |
void DcmHashDict::del | ( | const DcmTagKey & | k, | |
const char * | privCreator | |||
) |
deletes the entry for the given tag and private creator
k | tag key | |
privCreator | private creator name, may be NULL |
int DcmHashDict::hash | ( | const DcmTagKey * | k | ) | const [private] |
compute hash value for given tag key
k | pointer to tag key |
DcmDictEntry* DcmHashDict::insertInList | ( | DcmDictEntryList & | lst, | |
DcmDictEntry * | e | |||
) | [private] |
inserts new entry into given list
lst | list to add to | |
e | new element to add, will be deleted upon destruction of the hash table |
DcmDictEntry* DcmHashDict::removeInList | ( | DcmDictEntryList & | lst, | |
const DcmTagKey & | k, | |||
const char * | privCreator | |||
) | [private] |
removes the entry for the given tag and private creator
lst | list to remove from | |
k | tag key | |
privCreator | private creator name, may be NULL |
DcmDictEntry* DcmHashDict::findInList | ( | DcmDictEntryList & | lst, | |
const DcmTagKey & | k, | |||
const char * | privCreator | |||
) | const [private] |
searcjes entry for the given tag and private creator
lst | list to search in | |
k | tag key | |
privCreator | private creator name, may be NULL |