Inherits SimpleDataType

Coupling data allows nodes in the tree to point to other nodes safely. The connection between the nodes can be one-way or two-way. The connection will be accurately saved and loaded. When the node referenced by coupling data is destroyed, the remaining node's data is set to 0. If the link is two-way, then both nodes are destroyed when one is destroyed.

Extending this class allows you to store addtional data with the link. For example, if the link represents an edge in a graph, then the extended class could store the length or weight of the edge, the type of edge, etc.

Related Functions

treenode createcoupling(treenode container1, treenode container2) Adds a subnode to both containers and creates a two-way link between subnodes. Returns the value of container1.
double nodejoin(treenode node1, treenode node2) Creates a two-way link between the two input nodes. Returns 0 on failure, 1 on success.
treenode nodepoint(treenode from, treenode to) Creates a one-way link between the two input nodes.
treenode nodeaddcouplingdata(treenode target, CouplingDataType* cdt, int bind) Adds the specified coupling data to the target node, and specifies whether to bind on create. Returns the target node.


Virtual Methods

void bind(void)Inherited from SimpleDataType.
char* toString(int verbose)Inherited from SimpleDataType.