An Average Level Tree structure, which is kept balanced so that finding a node is very rapid.

Defines classes that use TAvlTree for data storage, and enumerators for them. TAvlTree is an Average Level binary Tree, located in unit AVL_Tree in FPC packages.

TAvgLvlTreeNode
- a node, the basic structural element of a TAvgLvlTree.
TAvgLvlTree
- an Average Level binary Tree.

TAvgLvlTree is an Average Level binary Tree. This binary tree is always balanced, so that inserting, deleting and finding a node is performed in O(log(#Nodes))

Same as OnCompare, but with a method instead of a procedure.
The number of nodes in the Left side.
TPointerToPointerItem
- an item in a PointerToPointer Tree (associative array).
The Key defining the pointer item.
The Value of the pointer item.
PPointerToPointerItem
- a pointer to a TPointerToPointerItem.
TPointerToPointerTree
is an associative array of PointerToPointer Items, or a tree of trees.

TPointerToPointerTree is an associative array of PointerToPointer Items, or a tree of trees. This class uses pointers to identify pointers within the array, unlike the TStringToStringTree, which uses strings to identify strings.

Constructor for the class instance.

Create is the constructor for TPointerToPointerTree.

Destructor for the class instance.
Frees objects stored in Values.
GetFirst
- finds the first node matching the supplied arguments; returns True if successful.
GetLast
- finds the last node matching the supplied arguments; returns True if successful.
GetNext
- finds the next node matching the supplied arguments; returns True if successful.
GetPrev
- finds the previous node matching the supplied arguments; returns True if successful.
Finds a Key by its Value using a slow linear search.
Pointer to the Key or Nil.
Count
- the number of items.
Values
- a pointer into the array of values associated with the nodes.
The Tree that forms the basis of the associative array.
Constructor for the class instance.
Destructor for the class instance.
Tree containing PStringMapItem pointers.
An associative array of StringToString Items, or a tree of trees.

TStringToStringTree implements an associative array of StringToString Items, or a tree of trees. This class uses strings to identify strings within the array, unlike the TPointerToPointerTree, which uses pointers to identify pointers.

Add
an item to the tree (specified by its name, value or delimiter).
AddNameValues
add the specified named values to the tree.
The Values of the strings corresponding to the supplied name.
GetFirst
- finds the matching first item; returns True if successful.
GetLast
- finds the last matching item; returns True if successful.
GetNext
- finds the next matching item; returns True if successful.
GetPrev
- finds the previous matching item; returns True if successful.