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: