In file include/csobject/objtree.h:

class csObjTree

A tree of csObjects, used internally by the csObject class

Public Methods

csObjTree (csObject* csobj = NULL)
Create a new object tree
csObjTree* GetCopy ()
Returns a csObjTree which points to the same data as this tree
csObjTree* GetNode (const csIdType& objtype)
Returns the tree node representing the given object type
int GetNumObjects ()
int GetNumSubNodes ()
csObject* GetObj (int i)
csObjTree* GetSubNode (int i)
const csIdType& GetType ()
Returns the polymorphic type of this node
bool IsEmpty ()
Returns 'true' if this tree contains no csObjects.
virtual void ObjAdd (csObject* csobj)
Add the csObject to the tree.
virtual void ObjRelease (csObject* csobj)
Release the the csObject from the tree.
virtual ~csObjTree ()

Protected Fields

int child_cnt
csObject** children
csIdType nodetype
int subnode_cnt
csObjTree** subnodes

Protected Methods

void CollapseTree ()
If this is a redundant node in the tree, remove it.

Documentation

A tree of csObjects, used internally by the csObject class
csObjTree** subnodes

int subnode_cnt

csObject** children

int child_cnt

csIdType nodetype

void CollapseTree()
If this is a redundant node in the tree, remove it.

csObjTree(csObject* csobj = NULL)
Create a new object tree. If csobj is non-NULL, the object tree is started with the single object 'csobj' in it.

virtual ~csObjTree()

csObjTree* GetCopy()
Returns a csObjTree which points to the same data as this tree. The copy of the csObjTree functions the same as the original, except that the csObject data within is not freed when the csObjTree is destroyed. If the original tree is destroyed before the copy, then the data in the copy is no longer valid.

csObjTree* GetNode(const csIdType& objtype)
Returns the tree node representing the given object type. This function will return the highest-level node in the tree which contains only objects which are of the polymorphic type (or children of the polymorphic type) given by objtype. Returns NULL if no such node exists.

int GetNumObjects()

csObject* GetObj(int i)

int GetNumSubNodes()

csObjTree* GetSubNode(int i)

bool IsEmpty()
Returns 'true' if this tree contains no csObjects.

virtual void ObjAdd(csObject* csobj)
Add the csObject to the tree.

virtual void ObjRelease(csObject* csobj)
Release the the csObject from the tree.

const csIdType& GetType()
Returns the polymorphic type of this node


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de