feisty meow concerns codebase  2.140
structures::internal_symbol_indexer< contents > Class Template Reference

#include <symbol_table.h>

Inheritance diagram for structures::internal_symbol_indexer< contents >:
Collaboration diagram for structures::internal_symbol_indexer< contents >:

Public Member Functions

 internal_symbol_indexer (int elems)
 
- Public Member Functions inherited from structures::pointer_hash< internal_pointer_hider< contents > >
 pointer_hash (int estimated_elements)
 
 ~pointer_hash ()
 
const pointer_setids () const
 
void ids (pointer_set &ids) const
 provides the current list of valid identifiers. More...
 
basis::outcome add (void *key, internal_pointer_hider< contents > *to_store)
 overrides base add() and ensures that the id list stays up to date. More...
 
internal_pointer_hider< contents > * acquire (void *key)
 overrides base acquire() by ensuring that the ids stay up to date. More...
 
bool zap (void *key)
 overrides base zap() method plus keeps id list updated. More...
 
void reset ()
 overrides base reset() and ensures that the id list stays up to date. More...
 
void apply (apply_function *to_apply, void *data_link)
 operates on every item in the pointer_hash table. More...
 
- Public Member Functions inherited from structures::hash_table< key_type, 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 key_type &key, contents *to_store)
 Stores "to_store" into the table given its "key" for hashing. More...
 
basis::outcome fast_dangerous_add (const key_type &key, contents *to_store)
 Like the add method above, but doesn't check for duplicates. More...
 
bool find (const key_type &key, contents *&item_found) const
 locates the item specified by the "key", if possible. More...
 
contents * find (const key_type &key) const
 simplified form of above find() method. More...
 
contents * acquire (const key_type &key)
 retrieves the contents held for "key" out of the table. More...
 
bool zap (const key_type &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...
 
basis::outcome add (key_type *key, contents *to_store, bool check_dupes=true)
 specialized add for a pre-existing pointer "key". More...
 
bool verify () const
 returns true if the hash table is internally consistent. More...
 
internal_hash_array< key_type, 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::pointer_hash< internal_pointer_hider< contents > >
typedef bool apply_function(const void *&key, internal_pointer_hider< contents > &current, void *data_link)
 
- Public Types inherited from structures::hash_table< key_type, contents >
enum  outcomes { IS_NEW = basis::common::IS_NEW , EXISTING = basis::common::EXISTING }
 
typedef bool apply_function(const key_type &key, contents &current, 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< key_type, 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...
 

Detailed Description

template<class contents>
class structures::internal_symbol_indexer< contents >

Definition at line 177 of file symbol_table.h.

Constructor & Destructor Documentation

◆ internal_symbol_indexer()

template<class contents >
structures::internal_symbol_indexer< contents >::internal_symbol_indexer ( int  elems)
inline

Definition at line 181 of file symbol_table.h.


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