DCMTK  Version 3.6.1 20170228
OFFIS DICOM Toolkit
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
DcmHashDict Class Reference

a hash table of pointers to DcmDictEntry objects More...

Public Member Functions

 DcmHashDict ()
 default constructor
 
 ~DcmHashDict ()
 destructor
 
int size () const
 counts total number of entries More...
 
void clear ()
 clears the hash table of all entries
 
void put (DcmDictEntry *entry)
 inserts an entry into hash table (deletes old entry if present) More...
 
const DcmDictEntryget (const DcmTagKey &key, const char *privCreator) const
 hash table lookup for the given tag key and private creator name More...
 
void del (const DcmTagKey &key, const char *privCreator)
 deletes the entry for the given tag and private creator More...
 
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
 
DcmHashDictoperator= (const DcmHashDict &)
 private unimplemented copy assignment operator
 
void _init ()
 performs initialization for given hash table size, called from constructor
 
int hash (const DcmTagKey *key, const char *privCreator) const
 compute hash value for given tag key More...
 
DcmDictEntryinsertInList (DcmDictEntryList &lst, DcmDictEntry *entry)
 inserts new entry into given list More...
 
DcmDictEntryremoveInList (DcmDictEntryList &lst, const DcmTagKey &key, const char *privCreator)
 removes the entry for the given tag and private creator More...
 
DcmDictEntryfindInList (DcmDictEntryList &lst, const DcmTagKey &key, const char *privCreator) const
 searches entry for the given tag and private creator More...
 

Private Attributes

DcmDictEntryList ** hashTab
 array of (hash table size) pointers to DcmDictEntryList elements implementing the different buckets of the 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
 

Static Private Attributes

static const int hashTabLength
 number of buckets in hash table
 

Friends

class DcmHashDictIterator
 

Detailed Description

a hash table of pointers to DcmDictEntry objects

Member Function Documentation

void DcmHashDict::del ( const DcmTagKey key,
const char *  privCreator 
)

deletes the entry for the given tag and private creator

Parameters
keytag key of the entry to be deleted
privCreatorprivate creator name, may be NULL
DcmDictEntry* DcmHashDict::findInList ( DcmDictEntryList lst,
const DcmTagKey key,
const char *  privCreator 
) const
private

searches entry for the given tag and private creator

Parameters
lstlist to search in
keytag key of the entry to be searched for
privCreatorprivate creator name, may be NULL
Returns
pointer to found element, NULL if not found
const DcmDictEntry* DcmHashDict::get ( const DcmTagKey key,
const char *  privCreator 
) const

hash table lookup for the given tag key and private creator name

Parameters
keytag key of the entry to be searched for
privCreatorprivate creator name, may be NULL
Returns
pointer to entry (if found), otherwise NULL
int DcmHashDict::hash ( const DcmTagKey key,
const char *  privCreator 
) const
private

compute hash value for given tag key

Parameters
keypointer to tag key
privCreatorprivate creator name, may be NULL
Returns
hash value
DcmDictEntry* DcmHashDict::insertInList ( DcmDictEntryList lst,
DcmDictEntry entry 
)
private

inserts new entry into given list

Parameters
lstlist to add to
entrynew element to add, will be deleted upon destruction of the hash table
Returns
pointer to replaced element, if any
void DcmHashDict::put ( DcmDictEntry entry)

inserts an entry into hash table (deletes old entry if present)

Parameters
entrypointer to new entry
DcmDictEntry* DcmHashDict::removeInList ( DcmDictEntryList lst,
const DcmTagKey key,
const char *  privCreator 
)
private

removes the entry for the given tag and private creator

Parameters
lstlist to remove from
keytag key of the entry to be removed
privCreatorprivate creator name, may be NULL
Returns
pointer to removed element, if any
int DcmHashDict::size ( ) const
inline

counts total number of entries

Returns
number of entries

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


Generated on Tue Feb 28 2017 for DCMTK Version 3.6.1 20170228 by Doxygen 1.8.8