#include <id_map.h>

Public Member Functions | |
| ID_MAP (const UINT32 initial_capacity, const NODE_TYPE not_found_value, MEM_POOL *const pool, const BOOL tracing) | |
| ~ID_MAP (void) | |
| void | Init (void) |
| void | Init (UINT32) |
| NODE_TYPE | Lookup (const KEY_TYPE) const |
| void | Insert (const KEY_TYPE, const NODE_TYPE) |
| void | Delete (const KEY_TYPE) |
| void | Print (FILE *) const |
Private Member Functions | |
| void | Alloc_table_space (UINT32 table_size) |
| void | Initialize_table (void) |
| mINT32 | Hash (const KEY_TYPE key, const UINT32 tbl_size) const |
| void | Add_to_free_list (const mINT32 idx) |
| void | Enlarge (void) |
| void | Remove_from_free_list (const mINT32 idx) |
| mINT32 | Alloc_from_free_list (void) |
| BOOL | Check (BOOL cond) const |
| void | Verify (void) const |
| mINT32 | Entry_lookup (const KEY_TYPE) const |
Static Private Member Functions | |
| static UINT32 | Capacity (UINT32 size) |
| static UINT32 | Size (UINT32 capacity) |
Private Attributes | |
| NODE_TYPE | _not_found_value |
| BOOL | _constructed |
| const BOOL | _tracing |
| const BOOL | _verbose |
| MEM_POOL *const | _pool |
| ID_MAP_HASH_ENTRY< NODE_TYPE, KEY_TYPE > * | _table |
| UINT32 | _table_size |
| UINT32 | _num_entries |
| mINT32 | _free_list |
Definition at line 184 of file id_map.h.
| ID_MAP< NODE_TYPE, KEY_TYPE >::ID_MAP | ( | const UINT32 | initial_capacity, | |
| const NODE_TYPE | not_found_value, | |||
| MEM_POOL *const | pool, | |||
| const BOOL | tracing | |||
| ) |
Definition at line 418 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, and ID_MAP< NODE_TYPE, KEY_TYPE >::Size().

Definition at line 537 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_constructed, ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing, Is_Trace, ID_MAP< NODE_TYPE, KEY_TYPE >::Print(), TFile, TRUE, and ID_MAP< NODE_TYPE, KEY_TYPE >::Verify().

| void ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list | ( | const mINT32 | idx | ) | [inline, private] |
Definition at line 252 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list, ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing, ID_MAP< NODE_TYPE, KEY_TYPE >::_verbose, ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), Is_Trace, Is_True, and TFile.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Delete(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge().

| mINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list | ( | void | ) | [inline, private] |
Definition at line 302 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list, ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_num_entries, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing, ID_MAP< NODE_TYPE, KEY_TYPE >::_verbose, ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), idx, Is_Trace, Is_True, and TFile.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Insert().

| void ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space | ( | UINT32 | table_size | ) | [private] |
Definition at line 434 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_pool, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing, EC_No_Mem, ErrMsg(), Is_Trace, MEM_POOL_Alloc, MEM_POOL_Realloc, MIN_TABLE_SIZE, NULL, and TFile.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Init().

| static UINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Capacity | ( | UINT32 | size | ) | [inline, static, private] |
Definition at line 204 of file id_map.h.
References CAPACITY_FACTOR.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Insert().
| BOOL ID_MAP< NODE_TYPE, KEY_TYPE >::Check | ( | BOOL | cond | ) | const [inline, private] |
Definition at line 327 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::Print(), and TFile.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Verify().

| void ID_MAP< NODE_TYPE, KEY_TYPE >::Delete | ( | const KEY_TYPE | key | ) |
Definition at line 817 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_num_entries, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), FmtAssert, ID_MAP< NODE_TYPE, KEY_TYPE >::Hash(), idx, and prev_idx.

| void ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge | ( | void | ) | [private] |
Definition at line 553 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list, ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_num_entries, ID_MAP< NODE_TYPE, KEY_TYPE >::_pool, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing, ID_MAP< NODE_TYPE, KEY_TYPE >::_verbose, ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), EC_No_Mem, ErrMsg(), FmtAssert, GROWTH_FACTOR, ID_MAP< NODE_TYPE, KEY_TYPE >::Hash(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), Is_Trace, Is_Trace_cmd, Is_True, MEM_POOL_Realloc, NULL, ID_MAP< NODE_TYPE, KEY_TYPE >::Print(), TFile, TRUE, and ID_MAP< NODE_TYPE, KEY_TYPE >::Verify().
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Insert().

| mINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup | ( | const KEY_TYPE | key | ) | const [private] |
Definition at line 862 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), ID_MAP< NODE_TYPE, KEY_TYPE >::Hash(), idx, and Is_True.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Lookup(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Verify().

| mINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Hash | ( | const KEY_TYPE | key, | |
| const UINT32 | tbl_size | |||
| ) | const [inline, private] |
Definition at line 219 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Delete(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Print().
Definition at line 490 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_constructed, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Initialize_table().

| void ID_MAP< NODE_TYPE, KEY_TYPE >::Init | ( | UINT32 | capacity | ) |
Definition at line 483 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space(), ID_MAP< NODE_TYPE, KEY_TYPE >::Initialize_table(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Size().

| void ID_MAP< NODE_TYPE, KEY_TYPE >::Initialize_table | ( | void | ) | [private] |
Definition at line 470 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list, ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, and ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Init().
| void ID_MAP< NODE_TYPE, KEY_TYPE >::Insert | ( | const KEY_TYPE | key, | |
| const NODE_TYPE | node | |||
| ) |
Definition at line 720 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list, ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_num_entries, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing, ID_MAP< NODE_TYPE, KEY_TYPE >::_verbose, ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Capacity(), ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), FmtAssert, fprintf(), ID_MAP< NODE_TYPE, KEY_TYPE >::Hash(), idx, Is_Trace, Is_True, Key_as_llu(), ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list(), and TFile.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge().

| NODE_TYPE ID_MAP< NODE_TYPE, KEY_TYPE >::Lookup | ( | const KEY_TYPE | key | ) | const |
Definition at line 850 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup(), and idx.

| void ID_MAP< NODE_TYPE, KEY_TYPE >::Print | ( | FILE * | fp | ) | const |
Definition at line 515 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list, ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_num_entries, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, fprintf(), ID_MAP< NODE_TYPE, KEY_TYPE >::Hash(), Id_map_fprint(), and Key_as_llu().
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), and ID_MAP< NODE_TYPE, KEY_TYPE >::~ID_MAP().

| void ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list | ( | const mINT32 | idx | ) | [inline, private] |
Definition at line 273 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list, ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing, ID_MAP< NODE_TYPE, KEY_TYPE >::_verbose, ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), Is_Trace, Is_True, and TFile.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Insert().

| static UINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Size | ( | UINT32 | capacity | ) | [inline, static, private] |
Definition at line 211 of file id_map.h.
References CAPACITY_FACTOR.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::ID_MAP(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Init().
| void ID_MAP< NODE_TYPE, KEY_TYPE >::Verify | ( | void | ) | const [inline, private] |
Definition at line 334 of file id_map.h.
References ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list, ID_MAP< NODE_TYPE, KEY_TYPE >::_table, ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size, ID_MAP< NODE_TYPE, KEY_TYPE >::Check(), ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup(), idx, and Is_True.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), and ID_MAP< NODE_TYPE, KEY_TYPE >::~ID_MAP().

BOOL ID_MAP< NODE_TYPE, KEY_TYPE >::_constructed [private] |
Definition at line 187 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Init(), and ID_MAP< NODE_TYPE, KEY_TYPE >::~ID_MAP().
mINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list [private] |
Definition at line 200 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Initialize_table(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), ID_MAP< NODE_TYPE, KEY_TYPE >::Print(), ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Verify().
NODE_TYPE ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value [private] |
Definition at line 186 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Delete(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup(), ID_MAP< NODE_TYPE, KEY_TYPE >::Initialize_table(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), ID_MAP< NODE_TYPE, KEY_TYPE >::Lookup(), ID_MAP< NODE_TYPE, KEY_TYPE >::Print(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list().
UINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::_num_entries [private] |
Definition at line 199 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Delete(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Print().
MEM_POOL* const ID_MAP< NODE_TYPE, KEY_TYPE >::_pool [private] |
Definition at line 190 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge().
ID_MAP_HASH_ENTRY<NODE_TYPE, KEY_TYPE>* ID_MAP< NODE_TYPE, KEY_TYPE >::_table [private] |
Definition at line 191 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space(), ID_MAP< NODE_TYPE, KEY_TYPE >::Delete(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup(), ID_MAP< NODE_TYPE, KEY_TYPE >::ID_MAP(), ID_MAP< NODE_TYPE, KEY_TYPE >::Initialize_table(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), ID_MAP< NODE_TYPE, KEY_TYPE >::Lookup(), ID_MAP< NODE_TYPE, KEY_TYPE >::Print(), ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Verify().
UINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size [private] |
Definition at line 198 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space(), ID_MAP< NODE_TYPE, KEY_TYPE >::Delete(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup(), ID_MAP< NODE_TYPE, KEY_TYPE >::ID_MAP(), ID_MAP< NODE_TYPE, KEY_TYPE >::Init(), ID_MAP< NODE_TYPE, KEY_TYPE >::Initialize_table(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), ID_MAP< NODE_TYPE, KEY_TYPE >::Print(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Verify().
const BOOL ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing [private] |
Definition at line 188 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list(), and ID_MAP< NODE_TYPE, KEY_TYPE >::~ID_MAP().
const BOOL ID_MAP< NODE_TYPE, KEY_TYPE >::_verbose [private] |
Definition at line 189 of file id_map.h.
Referenced by ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list(), ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge(), ID_MAP< NODE_TYPE, KEY_TYPE >::Insert(), and ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list().
1.7.1