nis-util
1.0.D108
|
#include <symtab.h>
Data Structures | |
struct | row_ty |
struct | walk_t |
Public Types | |
typedef std::vector< rcstring > | key_list_t |
Public Member Functions | |
virtual | ~symtab () |
symtab () | |
void * | query (const rcstring &name) const |
void | assign (const rcstring &name, void *value) |
void | remove (const rcstring &name) |
void | dump (const char *caption) const |
void | walk (walk_t &) |
key_list_t | keys () const |
void | set_reaper (void(*)(void *)) |
Private Types | |
typedef rcstring::hash_ty | hash_ty |
Private Member Functions | |
symtab (const symtab &) | |
symtab & | operator= (const symtab &) |
void | split (void) |
Private Attributes | |
void(* | reap )(void *) |
row_ty ** | hash_table |
hash_ty | hash_modulus |
hash_ty | hash_cutover |
hash_ty | hash_cutover_mask |
hash_ty | hash_cutover_split_mask |
hash_ty | hash_split |
hash_ty | hash_load |
The symtab class is used to represent a symbol table. The indexes are strings, the data may be arbitrary pointers. Access times are O(1).
typedef rcstring::hash_ty symtab::hash_ty [private] |
typedef std::vector<rcstring> symtab::key_list_t |
symtab::~symtab | ( | ) | [virtual] |
symtab::symtab | ( | ) |
symtab::symtab | ( | const symtab & | ) | [private] |
The copy constructor. Do not use.
void symtab::assign | ( | const rcstring & | name, |
void * | value | ||
) |
void symtab::dump | ( | const char * | caption | ) | const |
symtab::key_list_t symtab::keys | ( | ) | const |
void * symtab::query | ( | const rcstring & | name | ) | const |
The query method is used to reference a variable.
void symtab::remove | ( | const rcstring & | name | ) |
void symtab::set_reaper | ( | void(*)(void *) | fp | ) |
void symtab::split | ( | void | ) | [private] |
void symtab::walk | ( | walk_t & | arg | ) |
hash_ty symtab::hash_cutover [private] |
hash_ty symtab::hash_cutover_mask [private] |
hash_ty symtab::hash_cutover_split_mask [private] |
hash_ty symtab::hash_load [private] |
hash_ty symtab::hash_modulus [private] |
hash_ty symtab::hash_split [private] |
row_ty** symtab::hash_table [private] |
void(* symtab::reap)(void *) [private] |