Embed data objects into a multipap structured memory database.
More...
#include <linked.h>
Public Member Functions |
T & | get (void) |
| Return the typed value of this node.
|
| multimap () |
| Construct a multimap node.
|
multimap * | next (unsigned path) |
| Return next multimap typed object.
|
T & | operator* () |
| Return typed value of this node by pointer reference.
|
void | operator= (T &data) |
| Assign the value of our node.
|
void | set (T &reference) |
| Set the value of a data based value tree.
|
void | setPointer (T pointer) |
| Set the pointer of a pointer based value tree.
|
| ~multimap () |
| Destroy a multimap object.
|
void | delist (unsigned path) |
| De-list from a single map path.
|
void | enlist (unsigned path, MultiMap **root) |
| Enlist on a single linked list.
|
void | enlist (unsigned path, MultiMap **index, caddr_t key, unsigned size, size_t keysize=0) |
| Enlist binary key on a single map path.
|
ReusableObject * | getNext (void) |
| Get next effective reusable object when iterating.
|
void | delist (LinkedObject **root) |
| Locate and remove ourselves from a list of objects.
|
void | enlist (LinkedObject **root) |
| Add our object to an existing linked list through a pointer.
|
bool | isMember (LinkedObject *list) |
| Search to see if we are a member of a specific list.
|
virtual void | retain (void) |
| Retain by marking as self referenced list.
|
ObjectProtocol * | copy (void) |
| Retain (increase retention of) object when copying.
|
void | operator++ (void) |
| Increase retention operator.
|
void | operator-- (void) |
| Decrease retention operator.
|
virtual | ~ObjectProtocol () |
| Required virtual destructor.
|
Static Public Member Functions |
static multimap * | find (unsigned path, MultiMap **index, caddr_t key, unsigned size, unsigned keysize=0) |
| Find multimap key entry.
|
static MultiMap * | find (unsigned path, MultiMap **index, caddr_t key, unsigned max, size_t size=0) |
| Find a multikey node.
|
static unsigned | keyindex (caddr_t key, unsigned max, size_t size=0) |
| Compute binary key index.
|
Protected Attributes |
T | value |
Additional Inherited Members |
virtual bool | equal (unsigned path, caddr_t key, size_t size) |
| Modifiable interface for key matching.
|
| MultiMap (unsigned count) |
| Initialize a multilist object.
|
virtual | ~MultiMap () |
| Destroy a multilist object.
|
virtual void | release (void) |
| Release list, mark as no longer linked.
|
| LinkedObject (LinkedObject **root) |
| Construct base class attached to a chain of objects.
|
| LinkedObject () |
| Construct base class unattached to anyone.
|
Detailed Description
template<typename T, unsigned P>
class ucommon::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.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 1448 of file linked.h.
Member Function Documentation
template<typename T , unsigned P>
Find multimap key entry.
- Parameters:
-
path | to search through. |
index | of associated keys. |
key | to search for, binary or NULL terminated string. |
size | of index used. |
keysize | or 0 if NULL terminated string. |
- Returns:
- multipath typed object.
Definition at line 1516 of file linked.h.
template<typename T , unsigned P>
Return the typed value of this node.
- Returns:
- reference to value of node.
Definition at line 1468 of file linked.h.
template<typename T , unsigned P>
Return next multimap typed object.
- Parameters:
-
- Returns:
- multimap typed.
Reimplemented from ucommon::MultiMap.
Definition at line 1476 of file linked.h.
template<typename T , unsigned P>
Return typed value of this node by pointer reference.
- Returns:
- value of node.
Definition at line 1483 of file linked.h.
template<typename T , unsigned P>
Assign the value of our node.
- Parameters:
-
Definition at line 1504 of file linked.h.
template<typename T , unsigned P>
Set the value of a data based value tree.
- Parameters:
-
reference | to value to copy into node. |
Definition at line 1497 of file linked.h.
template<typename T , unsigned P>
Set the pointer of a pointer based value tree.
- Parameters:
-
Definition at line 1490 of file linked.h.
The documentation for this class was generated from the following file: