Finds the largest value from the root.
Finds the largest value from the given root.
Finds the smallest value from the root.
Finds the smallest value from the given root.
Gets the pointer of an element.
Inserts an item at the given point. Returns true if the height of the tree have been raised.
Used for foreach iteration.
Gets an element without allocation. Returns E.init if key not found.
Inserts a new element with some automatic optimization. TODO: Make the optimization better.
Optimizes a BinarySearchTree by distributing nodes evenly.
Rebalances a tree.
Removes an element by key.
Rotates the subtree to the left by one.
Rotates the subtree to the right then to the left.
Rotates the subtree to the right by one.
Rotates the subtree to the right then to the left.
Returns the number of elements in the tree.
Implements a single tree node.
Implements a mostly @nogc-able container format, with relatively fast access times. Mostly based upon the AVT tree algorithm with small modifications, with the intent to replace D's default associative arrays for GC-free operations, and better speed (theoretical worst-case access times: aArray's = n, this' = log2(n)). Tree traversal through D's Range capabilities. TODO: <ul> <li>Implement tree traversal.</li> <li>Improve tree optimization speeds.</li> <li>Fix potential memory leakage issues.</li> </ul>