CVCL::Hash_Table< _Key, _Data > Class Template Reference

#include <hash.h>

List of all members.

Public Types

Public Member Functions

Private Member Functions

Private Attributes

Friends


Detailed Description

template<class _Key, class _Data>
class CVCL::Hash_Table< _Key, _Data >

Definition at line 188 of file hash.h.


Member Typedef Documentation

template<class _Key, class _Data>
typedef _Hashtable_iterator<_Key, _Data> CVCL::Hash_Table< _Key, _Data >::iterator
 

Definition at line 236 of file hash.h.

template<class _Key, class _Data>
typedef _Hashtable_const_iterator<_Key, _Data> CVCL::Hash_Table< _Key, _Data >::const_iterator
 

Definition at line 238 of file hash.h.


Constructor & Destructor Documentation

template<class _Key, class _Data>
CVCL::Hash_Table< _Key, _Data >::Hash_Table size_t(*)(const _Key)  hashFunction,
size_t(*)(const _Key, const _Key)  matchFunc,
int  size = HASH_TABLE_SIZE,
int  threshold = HASH_TABLE_GROW_THRESHOLD,
int  factor = HASH_TABLE_GROW_FACTOR
 

Definition at line 305 of file hash.h.

template<class _Key, class _Data>
CVCL::Hash_Table< _Key, _Data >::Hash_Table const Hash_Table< _Key, _Data > &  hash  )  [inline]
 

Definition at line 221 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::Copy().

template<class _Key, class _Data>
CVCL::Hash_Table< _Key, _Data >::~Hash_Table  )  [inline]
 

Definition at line 222 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::Destroy().


Member Function Documentation

template<class _Key, class _Data>
Hash_Entry< _Key, _Data > ** CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry const _Key &   )  const [private]
 

Definition at line 410 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::_hashTbl, CVCL::Hash_Table< _Key, _Data >::_matchFunc, and CVCL::Hash_Table< _Key, _Data >::_size.

Referenced by CVCL::Hash_Table< _Key, _Data >::count(), CVCL::Hash_Table< _Key, _Data >::Delete(), CVCL::Hash_Table< _Key, _Data >::erase(), CVCL::Hash_Table< _Key, _Data >::Fetch(), CVCL::Hash_Table< _Key, _Data >::Insert(), and CVCL::Hash_Table< _Key, _Data >::operator[]().

template<class _Key, class _Data>
void CVCL::Hash_Table< _Key, _Data >::Copy const Hash_Table< _Key, _Data > &  rhs  )  [private]
 

Referenced by CVCL::Hash_Table< _Key, _Data >::Hash_Table(), and CVCL::Hash_Table< _Key, _Data >::Resize().

template<class _Key, class _Data>
void CVCL::Hash_Table< _Key, _Data >::Resize int  size  )  [private]
 

Definition at line 371 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::_hashFunc, CVCL::Hash_Table< _Key, _Data >::_matchFunc, CVCL::Hash_Table< _Key, _Data >::Copy(), CVCL::Hash_Table< _Key, _Data >::Destroy(), CVCL::Hash_Table< _Key, _Data >::Insert(), and CVCL::Hash_Ptr< _Key, _Data >::Null().

Referenced by CVCL::Hash_Table< _Key, _Data >::Insert(), and CVCL::Hash_Table< _Key, _Data >::operator[]().

template<class _Key, class _Data>
void CVCL::Hash_Table< _Key, _Data >::Destroy  )  [private]
 

Definition at line 324 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::_hashTbl, CVCL::Hash_Entry< _Key, _Data >::_next, and CVCL::Hash_Table< _Key, _Data >::_size.

Referenced by CVCL::Hash_Table< _Key, _Data >::Resize(), and CVCL::Hash_Table< _Key, _Data >::~Hash_Table().

template<class _Key, class _Data>
int CVCL::Hash_Table< _Key, _Data >::Insert _Key  key,
_Data  data
 

Definition at line 431 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::_growFactor, CVCL::Hash_Table< _Key, _Data >::_growThreshold, CVCL::Hash_Table< _Key, _Data >::_numEntries, CVCL::Hash_Table< _Key, _Data >::_size, CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry(), and CVCL::Hash_Table< _Key, _Data >::Resize().

Referenced by CVCL::HashUpdateIntData(), CVCL::ExprTransform::ite_simplify(), and CVCL::Hash_Table< _Key, _Data >::Resize().

template<class _Key, class _Data>
int CVCL::Hash_Table< _Key, _Data >::Delete _Key  key  ) 
 

Definition at line 464 of file hash.h.

References CVCL::Hash_Entry< _Key, _Data >::_next, CVCL::Hash_Table< _Key, _Data >::_numEntries, and CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry().

template<class _Key, class _Data>
void CVCL::Hash_Table< _Key, _Data >::clear  ) 
 

Definition at line 500 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::_hashTbl, CVCL::Hash_Entry< _Key, _Data >::_next, CVCL::Hash_Table< _Key, _Data >::_numEntries, and CVCL::Hash_Table< _Key, _Data >::_size.

template<class _Key, class _Data>
Hash_Table& CVCL::Hash_Table< _Key, _Data >::operator= const Hash_Table< _Key, _Data > &  rhs  ) 
 

template<class _Key, class _Data>
_Data * CVCL::Hash_Table< _Key, _Data >::Fetch _Key  key  ) 
 

Definition at line 523 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry().

Referenced by CVCL::HashUpdateIntData(), CVCL::ExprTransform::ite_simplify(), CVCL::Hash_Table< _Key, _Data >::operator[](), and update_queue().

template<class _Key, class _Data>
_Data & CVCL::Hash_Table< _Key, _Data >::operator[] _Key  key  ) 
 

Definition at line 549 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::_growFactor, CVCL::Hash_Table< _Key, _Data >::_growThreshold, CVCL::Hash_Table< _Key, _Data >::_numEntries, CVCL::Hash_Table< _Key, _Data >::_size, CVCL::Hash_Entry< _Key, _Data >::Data(), CVCL::Hash_Table< _Key, _Data >::Fetch(), CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry(), and CVCL::Hash_Table< _Key, _Data >::Resize().

template<class _Key, class _Data>
size_t CVCL::Hash_Table< _Key, _Data >::size  )  const [inline]
 

Definition at line 231 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::_numEntries.

Referenced by CVCL::Hash_Table< _Key, _Data >::begin(), and CVCL::Hash_Table< _Key, _Data >::empty().

template<class _Key, class _Data>
bool CVCL::Hash_Table< _Key, _Data >::empty  )  const [inline]
 

Definition at line 232 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::size().

template<class _Key, class _Data>
void CVCL::Hash_Table< _Key, _Data >::erase _Key  key  ) 
 

Definition at line 480 of file hash.h.

References CVCL::Hash_Entry< _Key, _Data >::_next, CVCL::Hash_Table< _Key, _Data >::_numEntries, and CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry().

template<class _Key, class _Data>
int CVCL::Hash_Table< _Key, _Data >::count _Key  key  )  const
 

Definition at line 530 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry().

template<class _Key, class _Data>
void CVCL::Hash_Table< _Key, _Data >::Print  ) 
 

Definition at line 619 of file hash.h.

template<class _Key, class _Data>
const_iterator CVCL::Hash_Table< _Key, _Data >::begin  )  const [inline]
 

Definition at line 247 of file hash.h.

References CVCL::Hash_Table< _Key, _Data >::_hashTbl, CVCL::Hash_Table< _Key, _Data >::end(), and CVCL::Hash_Table< _Key, _Data >::size().

template<class _Key, class _Data>
const_iterator CVCL::Hash_Table< _Key, _Data >::end  )  const [inline]
 

Definition at line 254 of file hash.h.

Referenced by CVCL::Hash_Table< _Key, _Data >::begin().

template<class _Key, class _Data>
const_iterator CVCL::Hash_Table< _Key, _Data >::find const _Key &  key  )  const [inline]
 

Definition at line 255 of file hash.h.

template<class _Key, class _Data>
template<class InputIterator>
void CVCL::Hash_Table< _Key, _Data >::insert InputIterator  l,
InputIterator  r
 


Friends And Related Function Documentation

template<class _Key, class _Data>
friend class Hash_Ptr< _Key, _Data > [friend]
 

Definition at line 204 of file hash.h.

template<class _Key, class _Data>
friend struct _Hashtable_iterator< _Key, _Data > [friend]
 

Definition at line 239 of file hash.h.

template<class _Key, class _Data>
friend struct _Hashtable_const_iterator< _Key, _Data > [friend]
 

Definition at line 240 of file hash.h.


Member Data Documentation

template<class _Key, class _Data>
Hash_Entry<_Key, _Data>** CVCL::Hash_Table< _Key, _Data >::_hashTbl [private]
 

Definition at line 191 of file hash.h.

Referenced by CVCL::Hash_Table< _Key, _Data >::begin(), CVCL::Hash_Table< _Key, _Data >::clear(), CVCL::Hash_Table< _Key, _Data >::Destroy(), and CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry().

template<class _Key, class _Data>
size_t(* CVCL::Hash_Table< _Key, _Data >::_hashFunc)(const _Key) [private]
 

Referenced by CVCL::Hash_Table< _Key, _Data >::Resize().

template<class _Key, class _Data>
size_t(* CVCL::Hash_Table< _Key, _Data >::_matchFunc)(const _Key, const _Key) [private]
 

Referenced by CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry(), and CVCL::Hash_Table< _Key, _Data >::Resize().

template<class _Key, class _Data>
int CVCL::Hash_Table< _Key, _Data >::_size [private]
 

Definition at line 196 of file hash.h.

Referenced by CVCL::Hash_Table< _Key, _Data >::clear(), CVCL::Hash_Table< _Key, _Data >::Destroy(), CVCL::Hash_Table< _Key, _Data >::Find_Hash_Entry(), CVCL::Hash_Table< _Key, _Data >::Insert(), and CVCL::Hash_Table< _Key, _Data >::operator[]().

template<class _Key, class _Data>
int CVCL::Hash_Table< _Key, _Data >::_growThreshold [private]
 

Definition at line 197 of file hash.h.

Referenced by CVCL::Hash_Table< _Key, _Data >::Insert(), and CVCL::Hash_Table< _Key, _Data >::operator[]().

template<class _Key, class _Data>
int CVCL::Hash_Table< _Key, _Data >::_growFactor [private]
 

Definition at line 198 of file hash.h.

Referenced by CVCL::Hash_Table< _Key, _Data >::Insert(), and CVCL::Hash_Table< _Key, _Data >::operator[]().

template<class _Key, class _Data>
int CVCL::Hash_Table< _Key, _Data >::_numEntries [private]
 

Definition at line 199 of file hash.h.

Referenced by CVCL::Hash_Table< _Key, _Data >::clear(), CVCL::Hash_Table< _Key, _Data >::Delete(), CVCL::Hash_Table< _Key, _Data >::erase(), CVCL::Hash_Table< _Key, _Data >::Insert(), CVCL::Hash_Table< _Key, _Data >::operator[](), and CVCL::Hash_Table< _Key, _Data >::size().


The documentation for this class was generated from the following file:
Generated on Thu Apr 13 16:57:46 2006 for CVC Lite by  doxygen 1.4.4