Balanced Binary Tree
--------------------

These files provide several templates for managing balanced binary trees 
of objects. The templates attempt to give a BIDS container class style 
interface so allow them to replace any BIDS container class with minimal 
changes. (I was able to change a TISetAsVector to a TIBPlusTree by only 
changing the template names!)

This is a first release of the code, and is barely tested. I have 
however done some testing and speed analysis comparing it to the 
TSArrayAsVector class. My results showed that Finds were about the same, 
but Add and Detach were many times faster for large numbers of items.

A function Search has been added. This allows a customizable search to 
be performed. The compare function passed should return the following 
values.

< 0	The search will take the left branch.
0	The search will end.
> 0	The search will take the right branch.

Functions have been included to access, detach and destroy the first and 
last items in the tree.

The iterator constructors as well as Reset, can take a start and end 
value. If the start value does not exist in the tree, then the lowest 
item that is greater than the start value is used. If the end value does 
not exist, the greatest value that is less that the end value is used.

Ive include both prefix and postfix ++ and -- operators for use with 
the iterators.

I am distributing this code free of charge. I am not asking for anything 
in return, but if you have any suggestions for improving it, or 
discovered any bugs I would appreciate hearing from you.

Steve Nutt
DownEast Technology
CIS: 71222,423

THIS SOFTWARE IS DISTRIBUTED "AS IS" AND WITHOUT WARRANTIES AS TO 
PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED 
OR IMPLIED. NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.
