#include <memory.h>
Inheritance diagram for ucommon::keypager< T, M >:
Public Types | |
typedef linked_pointer< T > | iterator |
Convenience typedef for iterative pointer. | |
Public Member Functions | |
T * | begin (void) |
Find first typed object in hash map to iterate. | |
unsigned | count (void) |
Count the number of typed objects in our hash map. | |
T * | get (char *name) |
Find a typed object derived from NamedObject in the hash map by name. | |
T ** | index (void) |
Convert our hash map into a linear object pointer array. | |
keypager (size_t size) | |
Create the object cache. | |
T * | next (T *current) |
Find next typed object in hash map for iteration. | |
T * | operator[] (char *name) |
Find a typed object derived from NamedObject in the hash map by name. | |
T ** | sort (void) |
Convert our hash map into an alphabetically sorted linear object pointer array. | |
bool | test (char *name) |
Test if a name exists in the pool. | |
~keypager () | |
Destroy the hash pager by purging the index chains and memory pools. |
This creates objects from a pager pool when they do not already exist in the hash map.
Definition at line 1289 of file memory.h.
ucommon::keypager< T, M >::keypager | ( | size_t | size | ) | [inline] |
T* ucommon::keypager< T, M >::begin | ( | void | ) | [inline] |
unsigned ucommon::keypager< T, M >::count | ( | void | ) | [inline] |
T* ucommon::keypager< T, M >::get | ( | char * | name | ) | [inline] |
Find a typed object derived from NamedObject in the hash map by name.
If the object is not found, it is created from the memory pool.
name | to search for. |
T** ucommon::keypager< T, M >::index | ( | void | ) | [inline] |
T* ucommon::keypager< T, M >::next | ( | T * | current | ) | [inline] |
T* ucommon::keypager< T, M >::operator[] | ( | char * | name | ) | [inline] |
Find a typed object derived from NamedObject in the hash map by name.
If the object is not found, it is created from the pager pool.
name | to search for. |
T** ucommon::keypager< T, M >::sort | ( | void | ) | [inline] |
bool ucommon::keypager< T, M >::test | ( | char * | name | ) | [inline] |