ucc::keymap< T, M > Class Template Reference

A templated class for a hash map. More...

#include <linked.h>

Collaboration diagram for ucc::keymap< T, M >:

Collaboration graph
[legend]

Public Member Functions

 ~keymap ()
 Destroy the hash map by puring the index chains.
NamedObject ** root (void) const
 Retrieve root of index to use in NamedObject constructors.
unsigned limit (void) const
 Retreive key size to use in NamedObject constructors.
T * get (const char *name) const
 Find a typed object in the hash map by name.
T * begin (void) const
 Find first typed object in hash map to iterate.
T * next (T *current) const
 Find next typed object in hash map for iteration.
unsigned count (void) const
 Count the number of typed objects in our hash map.
T ** index (void) const
 Convert our hash map into a linear object pointer array.
T ** sort (void) const
 Convert our hash map into an alphabetically sorted linear object pointer array.

Detailed Description

template<class T, unsigned M = 177>
class ucc::keymap< T, M >

A templated 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.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 1416 of file linked.h.


Member Function Documentation

template<class T , unsigned M = 177>
T* ucc::keymap< T, M >::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 1454 of file linked.h.

template<class T , unsigned M = 177>
unsigned ucc::keymap< T, M >::count ( void   )  const [inline]

Count the number of typed objects in our hash map.

Returns:
count of typed objects.

Definition at line 1469 of file linked.h.

template<class T , unsigned M = 177>
T* ucc::keymap< T, M >::get ( const char *  name  )  const [inline]

Find a typed object in the hash map by name.

Parameters:
name to search for.
Returns:
typed object if found through map or NULL.

Definition at line 1447 of file linked.h.

template<class T , unsigned M = 177>
T** ucc::keymap< T, M >::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 1478 of file linked.h.

template<class T , unsigned M = 177>
unsigned ucc::keymap< T, M >::limit ( void   )  const [inline]

Retreive key size to use in NamedObject constructors.

Returns:
key size of hash map.

Definition at line 1439 of file linked.h.

template<class T , unsigned M = 177>
T* ucc::keymap< T, M >::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 1462 of file linked.h.

template<class T , unsigned M = 177>
NamedObject** ucc::keymap< T, M >::root ( void   )  const [inline]

Retrieve root of index to use in NamedObject constructors.

Returns:
root node of index.

Definition at line 1432 of file linked.h.

template<class T , unsigned M = 177>
T** ucc::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.

Returns:
sorted array of typed named object pointers.

Definition at line 1487 of file linked.h.


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

Generated on Mon Jul 27 21:11:22 2009 for UCommon by  doxygen 1.5.9