HPCToolkit
|
#include <HashTable.hpp>
Public Member Functions | |
HashTable () | |
virtual | ~HashTable () |
void | Create (const uint entrySize, uint initialSize, HashFunctFunctPtr const HashFunctCallback, RehashFunctFunctPtr const RehashFunctCallback, EntryCompareFunctPtr const EntryCompareCallback, EntryCleanupFunctPtr const EntryCleanupCallback) |
void | Destroy () |
bool | operator== (HashTable &rhsTab) |
void | AddEntry (void *entry, AddEntryFunctPtr const AddEntryCallback=0,...) |
void | DeleteEntry (void *entry, DeleteEntryFunctPtr const DeleteEntryCallback=0,...) |
void * | QueryEntry (const void *entry) const |
int | GetEntryIndex (const void *entry) const |
void * | GetEntryByIndex (const uint index) const |
uint | NumberOfEntries () const |
void | Dump () |
Protected Member Functions | |
void | Create (const uint entrySize, uint initialSize) |
virtual uint | HashFunct (const void *entry, const uint size) |
virtual uint | RehashFunct (const uint oldHashValue, const uint size) |
virtual int | EntryCompare (const void *entry1, const void *entry2) |
virtual void | EntryCleanup (void *entry) |
HashTable & | operator= (const HashTable &rhs) |
Private Member Functions | |
int | QueryIndexSet (const void *entry, const bool expand) const |
void | OverflowIndexSet () |
void | OverflowEntries () |
void | FailureToCreateError () const |
void | FailureToDestroyError () const |
Private Attributes | |
const ulong | id |
uint | numSlots |
uint | nextSlot |
uint | entrySize |
void * | entries |
uint | indexSetSize |
int * | indexSet |
bool | hashTableCreated |
HashFunctFunctPtr | HashFunctCallback |
RehashFunctFunctPtr | RehashFunctCallback |
EntryCompareFunctPtr | EntryCompareCallback |
EntryCleanupFunctPtr | EntryCleanupCallback |
Friends | |
class | HashTableIterator |
Definition at line 309 of file HashTable.hpp.
HashTable::HashTable | ( | ) |
|
virtual |
void HashTable::AddEntry | ( | void * | entry, |
AddEntryFunctPtr const | AddEntryCallback = 0 , |
||
... | |||
) |
Definition at line 250 of file HashTable.cpp.
void HashTable::Create | ( | const uint | entrySize, |
uint | initialSize, | ||
HashFunctFunctPtr const | HashFunctCallback, | ||
RehashFunctFunctPtr const | RehashFunctCallback, | ||
EntryCompareFunctPtr const | EntryCompareCallback, | ||
EntryCleanupFunctPtr const | EntryCleanupCallback | ||
) |
Definition at line 495 of file HashTable.cpp.
void HashTable::DeleteEntry | ( | void * | entry, |
DeleteEntryFunctPtr const | DeleteEntryCallback = 0 , |
||
... | |||
) |
Definition at line 296 of file HashTable.cpp.
void HashTable::Destroy | ( | ) |
Definition at line 205 of file HashTable.cpp.
void HashTable::Dump | ( | ) |
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in WordSet.
Definition at line 558 of file HashTable.cpp.
|
private |
|
private |
void * HashTable::GetEntryByIndex | ( | const uint | index | ) | const |
Definition at line 444 of file HashTable.cpp.
int HashTable::GetEntryIndex | ( | const void * | entry | ) | const |
Definition at line 426 of file HashTable.cpp.
Reimplemented in WordSet.
Definition at line 544 of file HashTable.cpp.
uint HashTable::NumberOfEntries | ( | ) | const |
Definition at line 460 of file HashTable.cpp.
Definition at line 235 of file HashTable.cpp.
bool HashTable::operator== | ( | HashTable & | rhsTab | ) |
Definition at line 243 of file HashTable.cpp.
|
private |
|
private |
Definition at line 695 of file HashTable.cpp.
void * HashTable::QueryEntry | ( | const void * | entry | ) | const |
Definition at line 396 of file HashTable.cpp.
|
private |
Definition at line 574 of file HashTable.cpp.
|
friend |
Definition at line 338 of file HashTable.hpp.
|
private |
Definition at line 356 of file HashTable.hpp.
|
private |
Definition at line 365 of file HashTable.hpp.
|
private |
Definition at line 364 of file HashTable.hpp.
|
private |
Definition at line 355 of file HashTable.hpp.
|
private |
Definition at line 362 of file HashTable.hpp.
|
private |
Definition at line 360 of file HashTable.hpp.
|
private |
Definition at line 352 of file HashTable.hpp.
|
private |
Definition at line 358 of file HashTable.hpp.
|
private |
Definition at line 357 of file HashTable.hpp.
|
private |
Definition at line 354 of file HashTable.hpp.
|
private |
Definition at line 353 of file HashTable.hpp.
|
private |
Definition at line 363 of file HashTable.hpp.