Bidirectional iterator over the children of a QUB_Tree.
The preferred tool for inserting and removing child nodes.
QUB_TreeIter
Unidirectional (forward) iterator over the children of a QUB_Tree.
The most efficient way to loop through children, but can't insert or remove children.
Both QUB_TreeIter and QUB_TreeMonoIter have the same methods; it's just that some of QUB_TreeMonoIter's methods don't work
(operator--, prev, insert, remove).
You can assign one kind to the other to make them point to the same child.