#include <utils.h>
Inheritance diagram for CB2::Tree< Tmemb >:
Public Types | |
typedef Tree< Tmemb > | this_type |
Template type alias. | |
typedef List< this_type > | subtrees_type |
Subtree list. | |
typedef subtrees_type::size_type | size_type |
Size type. | |
typedef subtrees_type::ref_type | ref_type |
Subtree reference type. | |
typedef Iterator< this_type, ref_type, this_type > | iterator |
Iterator. | |
typedef RevIterator< this_type, ref_type, this_type > | rev_iterator |
Reverse iterator. | |
Public Member Functions | |
Tree () | |
Constructor. | |
~Tree () | |
Destructor. | |
bool | IsNULL () const |
Check whether tree node is NULL. | |
size_type | CountSubtrees () const |
Get number of subtrees. | |
const this_type & | operator<< (const Tmemb *prev) |
Point node to data. | |
void | Push (const Tmemb &prev) |
Push data to node. | |
this_type * | AddChild () |
Create new subtree. | |
ref_type | RefBegin () const |
Get starting reference to subtrees. | |
ref_type | RefEnd () const |
Get final reference to subtrees. | |
ref_type | RevRefBegin () const |
Get starting reverse reference to subtrees. | |
ref_type | RevRefEnd () const |
Get final reverse reference to subtrees. | |
ref_type | RefNext (const ref_type &prev) const |
Get succeding reference. | |
ref_type | RefPrev (const ref_type &prev) const |
Get predecessing reference. | |
const this_type & | Deref (const ref_type &ref) const |
Dereference. | |
const this_type & | RevDeref (const ref_type &ref) const |
Reverse dereference. | |
iterator | Begin () const |
Get starting subtree iterator. | |
iterator | End () const |
Get final subtree iterator. | |
rev_iterator | RevBegin () const |
Get starting subtree reverse iterator. | |
rev_iterator | RevEnd () const |
Get final subtree reverse iterator. | |
Public Attributes | |
int | tag |
Tag for user-specific data. | |
Private Attributes | |
Tmemb * | data |
Node data. | |
bool | local |
Local copy flag. | |
subtrees_type | subtrees |
List of subtrees. |
Template for storing tree structures. This is a recursive structure storing the data and list of subtrees.
|
|
|
Subtree reference type.
|
|
Reverse iterator.
|
|
Size type.
|
|
Subtree list.
|
|
Template type alias.
|
|
Constructor. Create empty tree. |
|
Destructor. Deallocate the tree. |
|
Create new subtree. Create new subtree.
|
|
Get starting subtree iterator.
|
|
Get number of subtrees.
|
|
Dereference.
|
|
Get final subtree iterator.
|
|
Check whether tree node is NULL. Check whether key node is NULL, which also means that there are no subtrees.
|
|
Point node to data. Point the node to the data. The node stores as pointer to the original data.
|
|
Push data to node. Push the data to the node. The node stores local copy of the data, so a copy constructor is used.
|
|
Get starting reference to subtrees.
|
|
Get final reference to subtrees.
|
|
Get succeding reference.
|
|
Get predecessing reference.
|
|
Get starting subtree reverse iterator.
|
|
Reverse dereference.
|
|
Get final subtree reverse iterator.
|
|
Get starting reverse reference to subtrees.
|
|
Get final reverse reference to subtrees.
|
|
Node data.
|
|
Local copy flag.
|
|
List of subtrees.
|
|
Tag for user-specific data.
|