This class provides classes that abstract an hierarchical data structures like trees.

There is one class for abstracting trees and another for tree nodes. These classes are expected to be extended by sub-classes in concrete applications.

The tree node class has functions for adding and removing children nodes, setting and getting the node value, name and comment, and serializing and serializing the node structure into a string.

The tree class is itself a sub-class of the tree node class. Besides the functions inherited from the node class, it has functions for adding and removing nodes, retrieving the root node, among other functions to check the tree properties.