ucommon
|
A template class for a hash map. More...
#include <linked.h>
Public Types | |
typedef linked_pointer< T > | iterator |
Convenience typedef for iterative pointer. | |
Public Member Functions | |
void | add (const char *name, T &object) |
Add a typed object derived from NamedObject to the hash map by name. | |
void | add (const char *name, T *object) |
Add a typed object derived from NamedObject to the hash map by name. | |
T * | begin (void) const |
Find first typed object in hash map to iterate. | |
unsigned | count (void) const |
Count the number of typed objects in our hash map. | |
T * | get (const char *name) const |
Find a typed object derived from NamedObject in the hash map by name. | |
T ** | index (void) const |
Convert our hash map into a linear object pointer array. | |
unsigned | limit (void) const |
Retrieve key size to use in NamedObject constructors. | |
T * | next (T *current) const |
Find next typed object in hash map for iteration. | |
T & | operator[] (const char *name) const |
Find a typed object derived from NamedObject in the hash map by name. | |
T * | remove (const char *name) |
Remove a typed object derived from NamedObject to the hash map by name. | |
NamedObject ** | root (void) const |
Retrieve root of index to use in NamedObject constructors. | |
T ** | sort (void) const |
Convert our hash map into an alphabetically sorted linear object pointer array. | |
~keymap () | |
Destroy the hash map by puring the index chains. |
A template class for a hash map.
This provides a has map index object as a chain of keyindex selected linked pointers of a specified size. This is used for the index and size values for NamedObject's which are listed on a hash map.
void ucommon::keymap< T, M >::add | ( | const char * | name, |
T & | object | ||
) | [inline] |
Add a typed object derived from NamedObject to the hash map by name.
name | to add. |
object | to add. |
void ucommon::keymap< T, M >::add | ( | const char * | name, |
T * | object | ||
) | [inline] |
Add a typed object derived from NamedObject to the hash map by name.
name | to add. |
object | to add. |
T* ucommon::keymap< T, M >::begin | ( | void | ) | const [inline] |
unsigned ucommon::keymap< T, M >::count | ( | void | ) | const [inline] |
T* ucommon::keymap< T, M >::get | ( | const char * | name | ) | const [inline] |
Find a typed object derived from NamedObject in the hash map by name.
name | to search for. |
Definition at line 1770 of file linked.h.
T** ucommon::keymap< T, M >::index | ( | void | ) | const [inline] |
unsigned ucommon::keymap< T, M >::limit | ( | void | ) | const [inline] |
Retrieve key size to use in NamedObject constructors.
T* ucommon::keymap< T, M >::next | ( | T * | current | ) | const [inline] |
T& ucommon::keymap< T, M >::operator[] | ( | const char * | name | ) | const [inline] |
Find a typed object derived from NamedObject in the hash map by name.
name | to search for. |
Definition at line 1778 of file linked.h.
T* ucommon::keymap< T, M >::remove | ( | const char * | name | ) | [inline] |
Remove a typed object derived from NamedObject to the hash map by name.
name | to remove. |
NamedObject** ucommon::keymap< T, M >::root | ( | void | ) | const [inline] |
Retrieve root of index to use in NamedObject constructors.
T** ucommon::keymap< T, M >::sort | ( | void | ) | const [inline] |
Convert our hash map into an alphabetically sorted linear object pointer array.
The object pointer array is created from the heap and must be deleted when no longer used.
Definition at line 1842 of file linked.h.