BinarySetFn functor provides a balanced-binary-tree implementation of the
ORD_SET signature parameterized over the element type.
The original implementation was written by Stephen Adams and was based on the paper Binary Search Trees of Bounded Balance by Nievergelt and Reingold (SIAM Journal of Computing; March 1973).
It is recommended, however, that one use the
functor instead of
BinarySetFn, since experimentation has shown it to be
faster across the board.
functor BinarySetFn (K : ORD_KEY) :> ORD_SET where type Key.ord_key = K.ord_key