Trees can hold any data type. Special functions are available for trees of AjPStr values. In general, these functions are the same. Many are provided for ease of use to save remembering which calls need special cases.
At the top level, a tree has a list of named nodes and a pointer to the top node in the tree.
Name | Description |
---|---|
ajTreeNew | Creates a new general tree. |
ajTreestrNew | Creates a new AjPStr tree. |
Name | Type | Description |
---|---|---|
Right | struct AjSTree* | Next tree node |
Left | struct AjSTree* | Previous tree node |
Up | struct AjSTree* | Parent tree node |
Down | struct AjSTree* | First child tree node |
Name | AjPStr | Name string |
Data | void* | Data value |
Freedata | (AjBool*) | Complex data free function |
Type | AjEnum | Tree type (any, string, etc.) |
Padding | char[4] | Padding to alignment boundary |