feisty meow concerns codebase
2.140
|
Implements a hash table indexed on character strings. More...
#include <string_hash.h>
Public Member Functions | |
string_hash (int estimated_elements) | |
~string_hash () | |
Public Member Functions inherited from structures::hash_table< basis::astring, contents > | |
hash_table (const hashing_algorithm &hasher, int estimated_elements) | |
Creates a table using the "hasher" that is ready to store "estimated_elements". More... | |
virtual | ~hash_table () |
destroys any objects left in the hash_table. More... | |
DEFINE_CLASS_NAME ("hash_table") | |
void | rehash (int estimated_elements) |
resizes the hashing structures to optimise for a new size of "estimated_elements". More... | |
int | elements () const |
the number of valid items we found by traversing the hash table. More... | |
int | estimated_elements () const |
returns the size of table we're optimized for. More... | |
basis::outcome | add (const basis::astring &key, contents *to_store) |
Stores "to_store" into the table given its "key" for hashing. More... | |
basis::outcome | add (basis::astring *key, contents *to_store, bool check_dupes=true) |
specialized add for a pre-existing pointer "key". More... | |
basis::outcome | fast_dangerous_add (const basis::astring &key, contents *to_store) |
Like the add method above, but doesn't check for duplicates. More... | |
bool | find (const basis::astring &key, contents *&item_found) const |
locates the item specified by the "key", if possible. More... | |
contents * | find (const basis::astring &key) const |
simplified form of above find() method. More... | |
contents * | acquire (const basis::astring &key) |
retrieves the contents held for "key" out of the table. More... | |
bool | zap (const basis::astring &key) |
removes the entry with the "key" specified. More... | |
void | reset () |
removes all entries in the table and returns it to a pristine state. More... | |
void | apply (apply_function *to_apply, void *data_link) |
Invokes the function "to_apply" on every entry in the table. More... | |
bool | verify () const |
returns true if the hash table is internally consistent. More... | |
internal_hash_array< basis::astring, contents > & | table_access () const |
special accessor for the copy_hash_table method only. More... | |
Public Member Functions inherited from basis::nameable | |
virtual const char * | class_name () const =0 |
Returns the bare name of this class as a constant character pointer. More... | |
Additional Inherited Members | |
Public Types inherited from structures::hash_table< basis::astring, contents > | |
enum | outcomes |
typedef bool | apply_function(const basis::astring &key, contents ¤t, void *data_link) |
the "apply_function" is what a user of the "apply" method must supply. More... | |
Static Public Member Functions inherited from structures::hash_table< basis::astring, contents > | |
static int | calculate_num_slots (int estimated_elements) |
a helper method that lets us know what n is for how many 2^n slots we should have. More... | |
Implements a hash table indexed on character strings.
Definition at line 28 of file string_hash.h.
|
inline |
Definition at line 31 of file string_hash.h.
|
inline |
Definition at line 34 of file string_hash.h.