Hashtable< K, T > Class Template Reference

A key value map. More...

#include <Hashtable.h>

Inheritance diagram for Hashtable< K, T >:
IEnumerable< T > IMemoryValidate

List of all members.


class  _Kthashitem
class  Iterator

Public Member Functions

 Hashtable (const Hashtable &ht)
Hashtable< K, T > & operator= (const Hashtable< K, T > &ht)
bool ContainsKey (const K &key) const
Get (const K &key) const
T & GetRef (const K &key) const
T & operator[] (const K &key) const
void Set (K key, T val)
void Remove (const K &key)
RefCountPtr< Vector< K > > Keys () const
Iterator Begin () const
void ForEachKey (IDelegateOneParameter< K & > &func)
RefCountPtr< Vector< T > > Values () const
void Clear ()
int Count () const
virtual void ValidateMem () const
virtual void CheckMem () const

Protected Member Functions

List< _Kthashitem * > * FindList (const K &key) const
List< _Kthashitem * > * AddList (const K &key)
bool FindItem (typename List< _Kthashitem * >::Iterator &list, const K &key) const
virtual RefCountPtr< IIterator
< T > > 
IteratorPtr ()
int TableSize () const
void _Clear (Vector< List< _Kthashitem * > * > &valueLists)

Protected Attributes

Vector< List< _Kthashitem * > * > m_valueLists
int m_tablesize
int m_count

Detailed Description

template<typename K, typename T>
class Hashtable< K, T >

A key value map.

Add an option to dynamically resize the hash map. Currently, the size of the hash map defaults to 701, but this can be changed in the constructor.

Definition at line 53 of file Hashtable.h.

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