Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes

ID_MAP< NODE_TYPE, KEY_TYPE > Class Template Reference

#include <id_map.h>

Collaboration diagram for ID_MAP< NODE_TYPE, KEY_TYPE >:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

template<class NODE_TYPE, class KEY_TYPE>
class ID_MAP< NODE_TYPE, KEY_TYPE >

Definition at line 184 of file id_map.h.


Constructor & Destructor Documentation

template<class NODE_TYPE , class KEY_TYPE >
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().

Here is the call graph for this function:

template<class NODE_TYPE , class KEY_TYPE >
ID_MAP< NODE_TYPE, KEY_TYPE >::~ID_MAP ( void   ) 

Member Function Documentation

template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Add_to_free_list ( const mINT32  idx  )  [inline, private]
template<class NODE_TYPE , class KEY_TYPE >
mINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_from_free_list ( void   )  [inline, private]
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Alloc_table_space ( UINT32  table_size  )  [private]
template<class NODE_TYPE , class KEY_TYPE >
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().

template<class NODE_TYPE , class KEY_TYPE >
BOOL ID_MAP< NODE_TYPE, KEY_TYPE >::Check ( BOOL  cond  )  const [inline, private]
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Delete ( const KEY_TYPE  key  ) 
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Enlarge ( void   )  [private]
template<class NODE_TYPE , class KEY_TYPE >
mINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Entry_lookup ( const KEY_TYPE  key  )  const [private]
template<class NODE_TYPE , class KEY_TYPE >
mINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Hash ( const KEY_TYPE  key,
const UINT32  tbl_size 
) const [inline, private]
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Init ( void   ) 
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Init ( UINT32  capacity  ) 
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Initialize_table ( void   )  [private]
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Insert ( const KEY_TYPE  key,
const NODE_TYPE  node 
)
template<class NODE_TYPE , class KEY_TYPE >
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.

Here is the call graph for this function:

template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Print ( FILE *  fp  )  const
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Remove_from_free_list ( const mINT32  idx  )  [inline, private]
template<class NODE_TYPE , class KEY_TYPE >
static UINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::Size ( UINT32  capacity  )  [inline, static, private]
template<class NODE_TYPE , class KEY_TYPE >
void ID_MAP< NODE_TYPE, KEY_TYPE >::Verify ( void   )  const [inline, private]

Member Data Documentation

template<class NODE_TYPE , class KEY_TYPE >
BOOL ID_MAP< NODE_TYPE, KEY_TYPE >::_constructed [private]
template<class NODE_TYPE , class KEY_TYPE >
mINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::_free_list [private]
template<class NODE_TYPE , class KEY_TYPE >
NODE_TYPE ID_MAP< NODE_TYPE, KEY_TYPE >::_not_found_value [private]
template<class NODE_TYPE , class KEY_TYPE >
UINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::_num_entries [private]
template<class NODE_TYPE , class KEY_TYPE >
MEM_POOL* const ID_MAP< NODE_TYPE, KEY_TYPE >::_pool [private]
template<class NODE_TYPE , class KEY_TYPE >
ID_MAP_HASH_ENTRY<NODE_TYPE, KEY_TYPE>* ID_MAP< NODE_TYPE, KEY_TYPE >::_table [private]
template<class NODE_TYPE , class KEY_TYPE >
UINT32 ID_MAP< NODE_TYPE, KEY_TYPE >::_table_size [private]
template<class NODE_TYPE , class KEY_TYPE >
const BOOL ID_MAP< NODE_TYPE, KEY_TYPE >::_tracing [private]
template<class NODE_TYPE , class KEY_TYPE >
const BOOL ID_MAP< NODE_TYPE, KEY_TYPE >::_verbose [private]

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