RedBlackTree< K, V > Class Template Reference
[Collections]

A balanced binary tree where the longest path from the root to any leaf is no more than twice as long as the shortest path from the root to any other leaf in that tree. More...

#include <RedBlackTree.h>

Inheritance diagram for RedBlackTree< K, V >:
IEnumerable< V > IMemoryValidate

List of all members.

Classes

class  Iterator
 Iterate the tree values. More...

Public Member Functions

 RedBlackTree (const RedBlackTree< K, V > &rbt)
RedBlackTree< K, V > & operator= (const RedBlackTree< K, V > &rbt)
RedBlackTreeIterator< K, V > NodeIterator ()
Iterator Begin () const
int Count () const
void Insert (const K key, V data)
void Remove (const K &key)
void Clear ()
Find (const K &key) const
V & FindRef (const K &key) const
bool ContainsKey (const K &key) const
void VerifyTree () const
virtual void ValidateMem () const
virtual void CheckMem () const

Protected Member Functions

virtual RefCountPtr< IIterator
< V > > 
IteratorPtr ()
RBNode< K, V > * CreateNode (const K key, V data)
void RotateLeft (RBNode< K, V > *node)
void RotateRight (RBNode< K, V > *node)
RBNode< K, V > * FindNode (const K &key) const
void DeleteCase1 (RBNode< K, V > *n)
void DeleteCase2 (RBNode< K, V > *n)
void DeleteCase3 (RBNode< K, V > *n)
void DeleteCase4 (RBNode< K, V > *n)
void DeleteCase5 (RBNode< K, V > *n)
void DeleteCase6 (RBNode< K, V > *n)
void InsertCase1 (RBNode< K, V > *n)
void InsertCase2 (RBNode< K, V > *n)
void InsertCase3 (RBNode< K, V > *n)
void InsertCase4 (RBNode< K, V > *n)
void InsertCase5 (RBNode< K, V > *n)

Detailed Description

template<typename K, typename V>
class RedBlackTree< K, V >

A balanced binary tree where the longest path from the root to any leaf is no more than twice as long as the shortest path from the root to any other leaf in that tree.

Definition at line 432 of file RedBlackTree.h.


The documentation for this class was generated from the following file: