# TIntfBinaryTree/TStrBinaryTree/TBinaryTree

## Unit

BinaryTree

## TIntfBinaryTree

### Inheritance

Derived from TAbstractContainer

### Implements

- IIntfCollection
- IIntfTree
- IIntfCloneable

### Description

This class store interfaces in a red-black binary tree.

The binary tree is always balanced with red-black algorithms (from CLR) for best performance in search.

When an element is removed or insert, the tree is modified to keep balancing.

You can traverse the tree with iterators in different order (PreOrder, Order and PostOrder). Iterators are bidirectionnal.

If the compilation symbol THREADSAFE (dcl.inc) is defined, this container is threadsafe.

## TStrBinaryTree

### Inheritance

Derived from TAbstractContainer

### Implements

- IStrCollection
- IStrTree
- ICloneable

### Description

This class store strings in a red-black binary tree.

The binary tree is always balanced with red-black algorithms (from CLR) for best performance in search.

When an element is removed or insert, the tree is modified to keep balancing.

You can traverse the tree with iterators in different order (PreOrder, Order and PostOrder). Iterators are bidirectionnal.

If the compilation symbol THREADSAFE (dcl.inc) is defined, this container is threadsafe.

## TBinaryTree

### Inheritance

Derived from TAbstractContainer

### Implements

- ICollection
- ITree
- ICloneable

### Description

This class store objects in a red-black binary tree.

The binary tree is always balanced with red-black algorithms (from CLR) for best performance in search.

When an element is removed or insert, the tree is modified to keep balancing.

You can traverse the tree with iterators in different order (PreOrder, Order and PostOrder). Iterators are bidirectionnal.

If the compilation symbol THREADSAFE (dcl.inc) is defined, this container is threadsafe.