UCommon
Public Member Functions | Static Public Member Functions | Protected Attributes
ucc::multimap< T, P > Class Template Reference

Embed data objects into a multipap structured memory database. More...

#include <linked.h>

Inheritance diagram for ucc::multimap< T, P >:
Inheritance graph
[legend]
Collaboration diagram for ucc::multimap< T, P >:
Collaboration graph
[legend]

Public Member Functions

T & get (void) const
 Return the typed value of this node.
 multimap ()
 Construct a multimap node.
multimapnext (unsigned path)
 Return next multimap typed object.
T & operator* () const
 Return typed value of this node by pointer reference.
void operator= (const T &data)
 Assign the value of our node.
void set (const T &reference)
 Set the value of a data based value tree.
void setPointer (const T pointer)
 Set the pointer of a pointer based value tree.
 ~multimap ()
 Destroy a multimap object.

Static Public Member Functions

static multimapfind (unsigned path, MultiMap **index, caddr_t key, unsigned size, unsigned keysize=0)
 Find multimap key entry.

Protected Attributes

value

Detailed Description

template<typename T, unsigned P>
class ucc::multimap< T, P >

Embed data objects into a multipap structured memory database.

This can be used to form multi-key hash nodes. Embedded values can either be of direct types that are then stored as part of the template object, or of class types that are data pointers.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 1440 of file linked.h.


Member Function Documentation

template<typename T , unsigned P>
static multimap* ucc::multimap< T, P >::find ( unsigned  path,
MultiMap **  index,
caddr_t  key,
unsigned  size,
unsigned  keysize = 0 
) [inline, static]

Find multimap key entry.

Parameters:
pathto search through.
indexof associated keys.
keyto search for, binary or NULL terminated string.
sizeof index used.
keysizeor 0 if NULL terminated string.
Returns:
multipath typed object.

Definition at line 1508 of file linked.h.

template<typename T , unsigned P>
T& ucc::multimap< T, P >::get ( void  ) const [inline]

Return the typed value of this node.

Returns:
reference to value of node.

Definition at line 1460 of file linked.h.

template<typename T , unsigned P>
multimap* ucc::multimap< T, P >::next ( unsigned  path) [inline]

Return next multimap typed object.

Parameters:
pathto follow.
Returns:
multimap typed.

Definition at line 1468 of file linked.h.

template<typename T , unsigned P>
T& ucc::multimap< T, P >::operator* ( ) const [inline]

Return typed value of this node by pointer reference.

Returns:
value of node.

Definition at line 1475 of file linked.h.

template<typename T , unsigned P>
void ucc::multimap< T, P >::operator= ( const T &  data) [inline]

Assign the value of our node.

Parameters:
datavalue to assign.

Definition at line 1496 of file linked.h.

template<typename T , unsigned P>
void ucc::multimap< T, P >::set ( const T &  reference) [inline]

Set the value of a data based value tree.

Parameters:
referenceto value to copy into node.

Definition at line 1489 of file linked.h.

template<typename T , unsigned P>
void ucc::multimap< T, P >::setPointer ( const T  pointer) [inline]

Set the pointer of a pointer based value tree.

Parameters:
pointerto set.

Definition at line 1482 of file linked.h.


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