Classes | Public Types | Public Member Functions | Private Types | Private Attributes

stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq > Class Template Reference

#include <HashTable.h>

Inheritance diagram for stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >:
Inheritance graph
[legend]
Collaboration diagram for stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >:
Collaboration graph
[legend]

List of all members.

Classes

class  ForAllAction

Public Types

typedef Key KeyType
typedef Value ValueType
typedef KeyHash hasher
typedef KeyEq key_equal
typedef pair< Key, Value > value_type
typedef pair< Key, Value > KeyValuePair
typedef pair< const Value, bool > ValueBoolPair

Public Member Functions

KeyHash & hashClass ()
KeyEq & eqClass ()
 HashTable ()
virtual ~HashTable ()
void clear ()
size_t size () const
bool empty () const
size_t count (const Key &k) const
ValueBoolPair find (const Key &k) const
ValueBoolPair insert (const KeyValuePair &p)
ValueBoolPair erase (const Key &k)
ValueBoolPair modify (const KeyValuePair &p)
void forAll (ForAllAction &action)

Private Types

typedef vector< KeyValuePairKeyValuePairVector
typedef
KeyValuePairVector::iterator 
KeyValuePairVectorIterator
typedef map< size_t,
KeyValuePairVector, less
< size_t > > 
Ht
typedef Ht::iterator HtIterator
typedef Ht::const_iterator HtConstIterator

Private Attributes

Ht ht
size_t _size
KeyHash keyHash
KeyEq keyEq

Detailed Description

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
class stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >

Definition at line 73 of file HashTable.h.


Member Typedef Documentation

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef KeyHash stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::hasher

Definition at line 77 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef map<size_t, KeyValuePairVector, less<size_t> > stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::Ht [private]

Definition at line 87 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef Ht::const_iterator stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::HtConstIterator [private]

Definition at line 89 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef Ht::iterator stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::HtIterator [private]

Definition at line 88 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef KeyEq stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::key_equal

Definition at line 78 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef Key stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::KeyType

Definition at line 75 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef pair<Key, Value> stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::KeyValuePair

Definition at line 81 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef vector<KeyValuePair> stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::KeyValuePairVector [private]

Definition at line 85 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef KeyValuePairVector::iterator stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::KeyValuePairVectorIterator [private]

Definition at line 86 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef pair<Key, Value> stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::value_type

Definition at line 80 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef pair<const Value, bool> stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::ValueBoolPair

Definition at line 82 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
typedef Value stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::ValueType

Definition at line 76 of file HashTable.h.


Constructor & Destructor Documentation

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::HashTable (  )  [inline]

Definition at line 100 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
virtual stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::~HashTable (  )  [inline, virtual]

Definition at line 104 of file HashTable.h.


Member Function Documentation

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
void stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::clear (  )  [inline]

Definition at line 109 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
size_t stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::count ( const Key &  k  )  const [inline]

Definition at line 129 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
bool stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::empty (  )  const [inline]

Definition at line 125 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
KeyEq& stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::eqClass (  )  [inline]

Definition at line 98 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
ValueBoolPair stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::erase ( const Key &  k  )  [inline]

Definition at line 182 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
ValueBoolPair stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::find ( const Key &  k  )  const [inline]

Definition at line 136 of file HashTable.h.

Referenced by Find_Ty_Pointer(), and New_Const_Sym().

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
void stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::forAll ( ForAllAction action  )  [inline]

Definition at line 221 of file HashTable.h.

Referenced by Validate_Pointer_Map().

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
KeyHash& stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::hashClass (  )  [inline]

Definition at line 97 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
ValueBoolPair stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::insert ( const KeyValuePair p  )  [inline]
template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
ValueBoolPair stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::modify ( const KeyValuePair p  )  [inline]

Definition at line 208 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
size_t stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::size (  )  const [inline]

Definition at line 121 of file HashTable.h.


Member Data Documentation

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
size_t stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::_size [private]

Definition at line 92 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
Ht stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::ht [private]

Definition at line 91 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
KeyEq stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::keyEq [private]

Definition at line 94 of file HashTable.h.

template<class Key, class Value, class KeyHash = Hash<Key>, class KeyEq = equal_to<Key>>
KeyHash stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::keyHash [private]

Definition at line 93 of file HashTable.h.


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