|
treemap * | find (const char *name) const |
| Find a subnode from our node by name.
|
|
const T & | get (void) const |
| Return the typed value of this node.
|
|
treemap * | getChild (const char *name) const |
| Get direct typed child node of our node of specified name.
|
|
const T & | getData (void) const |
| Get the data value of a data based value tree.
|
|
treemap * | getFirst (void) const |
| Get first child of our node.
|
|
treemap * | getIndexed (unsigned index) const |
| Get child member node by index.
|
|
treemap * | getLeaf (const char *name) const |
| Find a direct typed leaf node on our node.
|
|
treemap * | getParent (void) const |
| Get the typed parent node for our node.
|
|
const T | getPointer (void) const |
| Get the pointer of a pointer based value tree.
|
|
T | getValue (const char *name) const |
| Get the value pointer of a leaf node of a pointer tree.
|
|
bool | is_attribute (void) const |
| Test if this node is a leaf node for a tree pointer table.
|
|
treemap * | leaf (const char *name) const |
| Search for a leaf node of our node.
|
|
const T & | operator* () const |
| Return typed value of this node by pointer reference.
|
|
void | operator= (const T &data) |
| Assign the value of our node.
|
|
treemap * | path (const char *path) const |
| Find a subnode by pathname.
|
|
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.
|
|
| treemap (char *name=NULL) |
| Construct a typed root node for the tree.
|
|
| treemap (const treemap &source) |
| Construct a copy of the treemap object.
|
|
| treemap (treemap *parent, char *name) |
| Construct a child node on an existing tree.
|
|
| treemap (treemap *parent, char *name, T &reference) |
| Construct a child node on an existing tree and assign it's value.
|
|
template<typename T>
class ucommon::treemap< T >
Embed data objects into a tree structured memory database.
This can be used to form XML document trees or other data structures that can be organized in trees. The NamedTree class is used to manage the structure of the tree, and the type specified is embedded as a data value object which can be manipulated. Name identifiers are assumed to be dynamically allocated if tree node elements are deletable.
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. The latter might be used for trees that contain data which might be parsed dynamically from a document and/or saved on a heap. Pointer trees assume that NULL pointers are for nodes that are empty, and that NULL data value nodes with children are trunk nodes. Generally data values are then allocated with a pointer stored in pure leaf nodes.
- Author
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 1205 of file linked.h.