This class implements a binary tree data structure. It is used as a container for entities keyed by their name. More...
#include <utils.h>
Classes | |
class | TreeNode |
This class represents a node in the tree. More... | |
Public Types | |
enum | NodeColor { red, black, none } |
Public Member Functions | |
TreeNode * | begin () const |
void | clear () |
bool | empty () const |
TreeNode * | end () const |
void | erase (TreeNode *x) |
TreeNode * | find (const string &k) const |
TreeNode * | findLowerBound (const string &k, bool *f) const |
TreeNode * | insert (TreeNode *v) |
TreeNode * | insert (TreeNode *v, TreeNode *hint) |
void | rename (TreeNode *obj, string newname) |
size_t | size () const |
Tree (bool b=false) | |
void | verify () const |
~Tree () | |
Additional Inherited Members | |
![]() | |
NonCopyable () | |
~NonCopyable () | |
This class implements a binary tree data structure. It is used as a container for entities keyed by their name.
Technically, the data structure can be described as a red-black tree with intrusive tree nodes.
|
inline |
|
inline |
|
inline |
void frepple::utils::Tree::clear | ( | ) |
|
inline |
|
inline |
void frepple::utils::Tree::erase | ( | TreeNode * | x | ) |
|
inline |
|
inline |
Tree::TreeNode * frepple::utils::Tree::insert | ( | TreeNode * | v, |
TreeNode * | hint | ||
) |
|
inline |
|
inline |
void frepple::utils::Tree::verify | ( | ) | const |