A template class for a hash pager.
More...
#include <memory.h>
Public Member Functions |
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.
|
| keypager (size_t size) |
| Create the object cache.
|
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 ** | sort (void) const |
| Convert our hash map into an alphabetically sorted linear object pointer array.
|
bool | test (const char *name) const |
| Test if a name exists in the pool.
|
| ~keypager () |
| Destroy the hash pager by purging the index chains and memory pools.
|
Detailed Description
A template class for a hash pager.
This creates objects from a pager pool when they do not already exist in the hash map.
- Author:
- David Sugar <dyfet@gnutelephony.org>
Constructor & Destructor Documentation
ucommon::keypager::keypager |
( |
size_t |
size | ) |
[inline] |
Create the object cache.
- Parameters:
-
Definition at line 664 of file memory.h.
Member Function Documentation
T* ucommon::keypager::begin |
( |
void |
| ) |
const [inline] |
Find first typed object in hash map to iterate.
- Returns:
- first typed object or NULL if nothing in list.
Definition at line 708 of file memory.h.
unsigned ucommon::keypager::count |
( |
void |
| ) |
const [inline] |
Count the number of typed objects in our hash map.
- Returns:
- count of typed objects.
Definition at line 723 of file memory.h.
T* ucommon::keypager::get |
( |
const char * |
name | ) |
const [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.
- Parameters:
-
- Returns:
- typed object if found through map or NULL.
Definition at line 678 of file memory.h.
T** ucommon::keypager::index |
( |
void |
| ) |
const [inline] |
Convert our hash map into a linear object pointer array.
The object pointer array is created from the heap and must be deleted when no longer used.
- Returns:
- array of typed named object pointers.
Definition at line 732 of file memory.h.
T* ucommon::keypager::next |
( |
T * |
current | ) |
const [inline] |
Find next typed object in hash map for iteration.
- Parameters:
-
current | typed object we are referencing. |
- Returns:
- next iterative object or NULL if past end of map.
Definition at line 716 of file memory.h.
T* ucommon::keypager::operator[] |
( |
const char * |
name | ) |
const [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.
- Parameters:
-
- Returns:
- typed object if found through map or NULL.
Definition at line 701 of file memory.h.
T** ucommon::keypager::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.
- Returns:
- sorted array of typed named object pointers.
Definition at line 741 of file memory.h.
bool ucommon::keypager::test |
( |
const char * |
name | ) |
const [inline] |
Test if a name exists in the pool.
- Parameters:
-
- Returns:
- true if found.
Definition at line 692 of file memory.h.
The documentation for this class was generated from the following file: