Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

HashTable Class Reference

#include <hash.h>

Inheritance diagram for HashTable:

Inheritance graph
[legend]
Collaboration diagram for HashTable:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 HashTable ()
 HashTable (int)
void MakeTable ()
bool IsEmpty ()
void Dump (std::ostream &)
int AddEntry (char *key, HashValue value, int *index=0)
int AddEntry (bool, char *key, int len, HashValue value, int *index=0)
int AddEntry (char *key, int len, HashValue value, int *index=0)
int AddDupEntry (char *key, int len, HashValue value, int *index=0)
bool Lookup (char *key, HashValue *value)
bool Lookup (char *key, int len, HashValue *value)
bool LookupEntries (char *key, int len, HashValue *value, int &nth)
HashValue Peek (int index)
bool RemoveEntry (char *key)
bool RemoveEntry (char *key, int len)
void ReplaceValue (int index, HashValue value)

Protected Member Functions

char * KeyString (char *key)
char * KeyString (char *key, int len)
bool Lookup2 (char *key, HashValue *val, int *index)
bool Lookup2 (char *key, int len, HashValue *val, int *index)
bool GrowTable (int increment)
unsigned int StringToInt (char *)
unsigned int StringToInt (char *, int)
int HashFunc (unsigned int p, int n)

Static Protected Member Functions

uint NextPrimeNumber (uint number)

Protected Attributes

HashTableEntry * entries
int Size
int Prime2

Constructor & Destructor Documentation

HashTable::HashTable (   ) 
 

HashTable::HashTable (  int   )  [inline]
 


Member Function Documentation

void HashTable::MakeTable (   ) 
 

bool HashTable::IsEmpty (   ) 
 

void HashTable::Dump (  std::ostream &   ) 
 

int HashTable::AddEntry (  char *  key,
HashValue  value,
int *  index = 0
) 
 

int HashTable::AddEntry (  bool  ,
char *  key,
int  len,
HashValue  value,
int *  index = 0
) 
 

int HashTable::AddEntry (  char *  key,
int  len,
HashValue  value,
int *  index = 0
)  [inline]
 

int HashTable::AddDupEntry (  char *  key,
int  len,
HashValue  value,
int *  index = 0
)  [inline]
 

bool HashTable::Lookup (  char *  key,
HashValue *  value
) 
 

bool HashTable::Lookup (  char *  key,
int  len,
HashValue *  value
) 
 

bool HashTable::LookupEntries (  char *  key,
int  len,
HashValue *  value,
int &  nth
) 
 

HashValue HashTable::Peek (  int  index  ) 
 

bool HashTable::RemoveEntry (  char *  key  ) 
 

bool HashTable::RemoveEntry (  char *  key,
int  len
) 
 

void HashTable::ReplaceValue (  int  index,
HashValue  value
) 
 

char * HashTable::KeyString (  char *  key  )  [protected]
 

char * HashTable::KeyString (  char *  key,
int  len
)  [protected]
 

bool HashTable::Lookup2 (  char *  key,
HashValue *  val,
int *  index
)  [protected]
 

bool HashTable::Lookup2 (  char *  key,
int  len,
HashValue *  val,
int *  index
)  [protected]
 

uint HashTable::NextPrimeNumber (  uint  number  )  [static, protected]
 

bool HashTable::GrowTable (  int  increment  )  [protected]
 

unsigned int HashTable::StringToInt (  char *   )  [protected]
 

unsigned int HashTable::StringToInt (  char *  ,
int 
)  [protected]
 

int HashTable::HashFunc (  unsigned int  p,
int  n
)  [protected]
 


Member Data Documentation

HashTableEntry* HashTable::entries [protected]
 

int HashTable::Size [protected]
 

int HashTable::Prime2 [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Aug 11 22:35:31 2004 for IOPC by Doxygen 1.3.6