Page principale | Liste des namespaces | Hiérarchie des classes | Liste des classes | Répertoires | Liste des fichiers | Membres de namespace | Membres de classe | Membres de fichier

Référence de la classe HashTable< Key, T > (modèle)

#include <hash.h>

Graphe de collaboration de HashTable< Key, T >:

Collaboration graph
[légende]
Liste de tous les membres

Fonctions membres publiques

 HashTable (Key(*get)(T x), unsigned(*hFunc)(Key x))
 ~HashTable ()
void Insert (T item)
Remove (Key key)
bool Find (Key key, T *itemPtr) const
bool IsInTable (Key key)
bool IsEmpty ()
void Apply (void(*f)(T)) const
void SanityCheck () const
void SelfTest (T *p, int numItems)

Types privés

typedef List< T > * Bucket

Fonctions membres privées

void InitBuckets (int size)
void DeleteBuckets (Bucket *table, int size)
int HashValue (Key key) const
void ReHash ()
bool FindInBucket (int bucket, Key key, T *itemPtr) const
int FindNextFullBucket (int start) const

Attributs privés

Bucketbuckets
int numBuckets
int numItems
Key(* getKey )(T x)
unsigned(* hash )(Key x)

Amis

class HashIterator< Key, T >

Description détaillée

template<class Key, class T>
class HashTable< Key, T >

Définition à la ligne 42 du fichier hash.h.


Documentation des typedef membres

template<class Key, class T>
typedef List<T>* HashTable< Key, T >::Bucket [private]
 

Définition à la ligne 67 du fichier hash.h.


Documentation des contructeurs et destructeur

template<class Key, class T>
HashTable< Key, T >::HashTable Key(*)(T x)  get,
unsigned(*)(Key x)  hFunc
 

Définition à la ligne 29 du fichier hash.cc.

Références HashTable< Key, T >::getKey, HashTable< Key, T >::hash, HashTable< Key, T >::InitBuckets(), InitialBuckets, et HashTable< Key, T >::numItems.

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
HashTable< Key, T >::~HashTable  ) 
 

Définition à la ligne 60 du fichier hash.cc.

Références ASSERT, HashTable< Key, T >::buckets, HashTable< Key, T >::DeleteBuckets(), HashTable< Key, T >::IsEmpty(), et HashTable< Key, T >::numBuckets.

Voici le graphe d'appel pour cette fonction:


Documentation des fonctions membres

template<class Key, class T>
void HashTable< Key, T >::Apply void(*)(T)  f  )  const
 

Définition à la ligne 235 du fichier hash.cc.

Références List< T >::Apply(), HashTable< Key, T >::buckets, et HashTable< Key, T >::numBuckets.

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
void HashTable< Key, T >::DeleteBuckets Bucket table,
int  size
[private]
 

Référencé par HashTable< Key, T >::ReHash(), et HashTable< Key, T >::~HashTable().

template<class Key, class T>
bool HashTable< Key, T >::Find Key  key,
T *  itemPtr
const
 

Définition à la ligne 193 du fichier hash.cc.

Références HashTable< Key, T >::FindInBucket(), et HashTable< Key, T >::HashValue().

Référencé par HashTable< Key, T >::IsInTable().

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
bool HashTable< Key, T >::FindInBucket int  bucket,
Key  key,
T *  itemPtr
const [private]
 

Définition à la ligne 168 du fichier hash.cc.

Références HashTable< Key, T >::buckets, FALSE, HashTable< Key, T >::getKey, ListIterator< T >::IsDone(), ListIterator< T >::Item(), ListIterator< T >::Next(), NULL, et TRUE.

Référencé par HashTable< Key, T >::Find(), et HashTable< Key, T >::Remove().

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
int HashTable< Key, T >::FindNextFullBucket int  start  )  const [private]
 

Définition à la ligne 251 du fichier hash.cc.

Références HashTable< Key, T >::buckets, HashTable< Key, T >::IsEmpty(), et HashTable< Key, T >::numBuckets.

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
int HashTable< Key, T >::HashValue Key  key  )  const [private]
 

Définition à la ligne 89 du fichier hash.cc.

Références ASSERT, et HashTable< Key, T >::numBuckets.

Référencé par HashTable< Key, T >::Find(), HashTable< Key, T >::Insert(), HashTable< Key, T >::ReHash(), HashTable< Key, T >::Remove(), et HashTable< Key, T >::SanityCheck().

template<class Key, class T>
void HashTable< Key, T >::InitBuckets int  size  )  [private]
 

Définition à la ligne 45 du fichier hash.cc.

Références HashTable< Key, T >::buckets, et HashTable< Key, T >::numBuckets.

Référencé par HashTable< Key, T >::HashTable(), et HashTable< Key, T >::ReHash().

template<class Key, class T>
void HashTable< Key, T >::Insert item  ) 
 

Définition à la ligne 110 du fichier hash.cc.

Références List< T >::Append(), ASSERT, HashTable< Key, T >::buckets, HashTable< Key, T >::getKey, HashTable< Key, T >::HashValue(), HashTable< Key, T >::IsInTable(), HashTable< Key, T >::numBuckets, HashTable< Key, T >::numItems, HashTable< Key, T >::ReHash(), et ResizeRatio.

Référencé par HashTable< Key, T >::SelfTest().

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
bool HashTable< Key, T >::IsEmpty  )  [inline]
 

Définition à la ligne 56 du fichier hash.h.

Références HashTable< Key, T >::numItems.

Référencé par HashTable< Key, T >::FindNextFullBucket(), HashTable< Key, T >::ReHash(), HashTable< Key, T >::SelfTest(), et HashTable< Key, T >::~HashTable().

template<class Key, class T>
bool HashTable< Key, T >::IsInTable Key  key  )  [inline]
 

Définition à la ligne 53 du fichier hash.h.

Références HashTable< Key, T >::Find().

Référencé par HashTable< Key, T >::Insert(), HashTable< Key, T >::Remove(), et HashTable< Key, T >::SelfTest().

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
void HashTable< Key, T >::ReHash  )  [private]
 

Définition à la ligne 136 du fichier hash.cc.

Références List< T >::Append(), HashTable< Key, T >::buckets, HashTable< Key, T >::DeleteBuckets(), HashTable< Key, T >::getKey, HashTable< Key, T >::HashValue(), IncreaseSizeBy, HashTable< Key, T >::InitBuckets(), HashTable< Key, T >::IsEmpty(), HashTable< Key, T >::numBuckets, List< T >::RemoveFront(), et HashTable< Key, T >::SanityCheck().

Référencé par HashTable< Key, T >::Insert().

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
T HashTable< Key, T >::Remove Key  key  ) 
 

Définition à la ligne 210 du fichier hash.cc.

Références ASSERT, HashTable< Key, T >::buckets, HashTable< Key, T >::FindInBucket(), HashTable< Key, T >::HashValue(), HashTable< Key, T >::IsInTable(), HashTable< Key, T >::numItems, et List< T >::Remove().

Référencé par HashTable< Key, T >::SelfTest().

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
void HashTable< Key, T >::SanityCheck  )  const
 

Définition à la ligne 272 du fichier hash.cc.

Références ASSERT, HashTable< Key, T >::buckets, HashTable< Key, T >::getKey, HashTable< Key, T >::HashValue(), ListIterator< T >::IsDone(), ListIterator< T >::Item(), ListIterator< T >::Next(), HashTable< Key, T >::numBuckets, List< T >::NumInList(), HashTable< Key, T >::numItems, et List< T >::SanityCheck().

Référencé par HashTable< Key, T >::ReHash(), et HashTable< Key, T >::SelfTest().

Voici le graphe d'appel pour cette fonction:

template<class Key, class T>
void HashTable< Key, T >::SelfTest T *  p,
int  numItems
 

Définition à la ligne 297 du fichier hash.cc.

Références ASSERT, ASSERTNOTREACHED, HashTable< Key, T >::getKey, HashTable< Key, T >::Insert(), HashIterator< Key, T >::IsDone(), HashTable< Key, T >::IsEmpty(), HashTable< Key, T >::IsInTable(), HashIterator< Key, T >::Next(), HashTable< Key, T >::Remove(), et HashTable< Key, T >::SanityCheck().

Référencé par LibSelfTest().

Voici le graphe d'appel pour cette fonction:


Documentation des fonctions amies et associées

template<class Key, class T>
friend class HashIterator< Key, T > [friend]
 

Définition à la ligne 90 du fichier hash.h.


Documentation des données membres

template<class Key, class T>
Bucket* HashTable< Key, T >::buckets [private]
 

Définition à la ligne 69 du fichier hash.h.

Référencé par HashTable< Key, T >::Apply(), HashTable< Key, T >::FindInBucket(), HashTable< Key, T >::FindNextFullBucket(), HashTable< Key, T >::InitBuckets(), HashTable< Key, T >::Insert(), HashTable< Key, T >::ReHash(), HashTable< Key, T >::Remove(), HashTable< Key, T >::SanityCheck(), et HashTable< Key, T >::~HashTable().

template<class Key, class T>
Key(* HashTable< Key, T >::getKey)(T x) [private]
 

Référencé par HashTable< Key, T >::FindInBucket(), HashTable< Key, T >::HashTable(), HashTable< Key, T >::Insert(), HashTable< Key, T >::ReHash(), HashTable< Key, T >::SanityCheck(), et HashTable< Key, T >::SelfTest().

template<class Key, class T>
unsigned(* HashTable< Key, T >::hash)(Key x) [private]
 

Référencé par HashTable< Key, T >::HashTable().

template<class Key, class T>
int HashTable< Key, T >::numBuckets [private]
 

Définition à la ligne 70 du fichier hash.h.

Référencé par HashTable< Key, T >::Apply(), HashTable< Key, T >::FindNextFullBucket(), HashTable< Key, T >::HashValue(), HashTable< Key, T >::InitBuckets(), HashTable< Key, T >::Insert(), HashIterator< Key, T >::IsDone(), HashTable< Key, T >::ReHash(), HashTable< Key, T >::SanityCheck(), et HashTable< Key, T >::~HashTable().

template<class Key, class T>
int HashTable< Key, T >::numItems [private]
 

Définition à la ligne 71 du fichier hash.h.

Référencé par HashTable< Key, T >::HashTable(), HashTable< Key, T >::Insert(), HashTable< Key, T >::IsEmpty(), HashTable< Key, T >::Remove(), et HashTable< Key, T >::SanityCheck().


La documentation de cette classe a été générée à partir des fichiers suivants:
Généré le Sun Jan 15 00:47:52 2006 pour Système NachOS : par  doxygen 1.4.4