Stun Server  Compliant with the latest RFCs including 5389, 5769, and 5780
discover the local host's own external IP address
FastHash< K, V, FSIZE, TSIZE > Class Template Reference

#include <fasthash.h>

Inheritance diagram for FastHash< K, V, FSIZE, TSIZE >:
Collaboration diagram for FastHash< K, V, FSIZE, TSIZE >:

Public Types

typedef FastHashBase< K, V >::Item Item
 

Public Member Functions

 FastHash ()
 
- Public Member Functions inherited from FastHashBase< K, V >
 FastHashBase ()
 
 FastHashBase (size_t fsize, size_t tsize, Item *nodelist, ItemNode *itemnodelist, ItemNode **table, int *indexlist)
 
void Init (size_t fsize, size_t tsize, Item *nodelist, ItemNode *itemnodelist, ItemNode **table, int *indexlist)
 
void Reset ()
 
bool IsValid ()
 
size_t Size ()
 
size_t GetMaxCapacity ()
 
size_t GetTableWidth ()
 
int Insert (const K &key, V &value)
 
int Remove (const K &key)
 
V * Lookup (const K &key)
 
bool Exists (const K &key)
 
ItemLookupByIndex (size_t index)
 
V * LookupValueByIndex (size_t index)
 

Protected Types

typedef FastHashBase< K, V >::ItemNode ItemNode
 
typedef FastHashBase< K, V >::ItemNodePtr ItemNodePtr
 
- Protected Types inherited from FastHashBase< K, V >
typedef ItemNodeItemNodePtr
 

Protected Member Functions

 FastHash (const FastHash &)
 
FastHashoperator= (const FastHash &)
 
bool operator== (const FastHash &)
 
- Protected Member Functions inherited from FastHashBase< K, V >
 FastHashBase (const FastHashBase &)
 
FastHashBaseoperator= (const FastHashBase &)
 
bool operator== (const FastHashBase &)
 
ItemNodeFind (const K &key, size_t *pHashIndex=NULL, ItemNode **ppPrev=NULL)
 
void ReIndex ()
 
void UpdateIndexWithAdd (ItemNode *pNode)
 
void UpdateIndexWithRemove (ItemNode *pNode)
 

Protected Attributes

Item _nodesarray [FSIZE]
 
ItemNodePtr _lookuptablearray [TSIZE]
 
ItemNode _itemnodesarray [FSIZE]
 
int _indexarray [FSIZE]
 
- Protected Attributes inherited from FastHashBase< K, V >
size_t _fsize
 
size_t _tsize
 
Item_nodes
 
ItemNode_itemnodes
 
ItemNode_freelist
 
ItemNodePtr_lookuptable
 
int * _indexlist
 
bool _fIndexValid
 
size_t _indexStart
 
size_t _size
 

Detailed Description

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
class FastHash< K, V, FSIZE, TSIZE >

Definition at line 402 of file fasthash.h.

Member Typedef Documentation

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
typedef FastHashBase<K,V>::Item FastHash< K, V, FSIZE, TSIZE >::Item

Definition at line 405 of file fasthash.h.

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
typedef FastHashBase<K,V>::ItemNode FastHash< K, V, FSIZE, TSIZE >::ItemNode
protected

Definition at line 413 of file fasthash.h.

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
typedef FastHashBase<K,V>::ItemNodePtr FastHash< K, V, FSIZE, TSIZE >::ItemNodePtr
protected

Definition at line 414 of file fasthash.h.

Constructor & Destructor Documentation

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
FastHash< K, V, FSIZE, TSIZE >::FastHash ( const FastHash< K, V, FSIZE, TSIZE > &  )
inlineprotected

Definition at line 409 of file fasthash.h.

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
FastHash< K, V, FSIZE, TSIZE >::FastHash ( )
inline

Definition at line 422 of file fasthash.h.

Member Function Documentation

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
FastHash& FastHash< K, V, FSIZE, TSIZE >::operator= ( const FastHash< K, V, FSIZE, TSIZE > &  )
inlineprotected

Definition at line 410 of file fasthash.h.

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
bool FastHash< K, V, FSIZE, TSIZE >::operator== ( const FastHash< K, V, FSIZE, TSIZE > &  )
inlineprotected

Definition at line 411 of file fasthash.h.

Member Data Documentation

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
int FastHash< K, V, FSIZE, TSIZE >::_indexarray[FSIZE]
protected

Definition at line 419 of file fasthash.h.

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
ItemNode FastHash< K, V, FSIZE, TSIZE >::_itemnodesarray[FSIZE]
protected

Definition at line 418 of file fasthash.h.

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
ItemNodePtr FastHash< K, V, FSIZE, TSIZE >::_lookuptablearray[TSIZE]
protected

Definition at line 417 of file fasthash.h.

template<typename K, typename V, size_t FSIZE = 100, size_t TSIZE = 37>
Item FastHash< K, V, FSIZE, TSIZE >::_nodesarray[FSIZE]
protected

Definition at line 416 of file fasthash.h.


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