Class of generic tree_node for tree. More...
#include <tree.hh>
Public Types | |
typedef std::vector< tree_node < T > * > | children_t |
Public Member Functions | |
tree_node< T > * | add_child (T elt) |
Create a tree_node with elt which become the child of the current tree_node. | |
tree_node< T > * | add_child (tree_node< T > *tree_node) |
Bind tree_node to the current tree_node and become its child. | |
bool | check_consistency () |
Check the consistency of the tree_node. | |
children_t & | children () |
The getter of the children. | |
const children_t & | children () const |
The getter of the children. | |
tree_node< T > * | delete_tree_node () |
Delete the current tree_node. | |
T & | elt () |
The getter of the element. | |
const T & | elt () const |
The const getter of the element. | |
tree_node< T > * | parent () |
The getter of the parent. | |
void | print (std::ostream &ostr, int level=0) |
Print on ostr the arborescence with the current tree_node as root. | |
tree_node< T > * | search (T &elt) |
Search the tree_node with value elt in the arborescence of the current tree_node. | |
int | search_rec (tree_node< T > **res, T &elt) |
The using method for method search. | |
void | set_parent (tree_node< T > *parent) |
Bind tree_node to the current tree_node and become its parent. | |
tree_node () | |
Constructor. | |
tree_node (T elt) | |
Constructor. | |
Private Attributes | |
std::vector< tree_node< T > * > | child_ |
The children. | |
T | elt_ |
The value. | |
tree_node< T > * | parent_ |
The tree_node parent. |
Class of generic tree_node for tree.
typedef std::vector< tree_node<T>* > mln::util::tree_node< T >::children_t |
mln::util::tree_node< T >::tree_node | ( | ) | [inline] |
Constructor.
mln::util::tree_node< T >::tree_node | ( | T | elt | ) | [inline] |
Constructor.
[in] | elt | The element of tree_node. |
tree_node< T > * mln::util::tree_node< T >::add_child | ( | T | elt | ) | [inline] |
Create a tree_node with elt
which become the child of the current tree_node.
[in] | elt | The element of the new child to add. |
References mln::util::tree_node< T >::child_, and mln::util::tree_node< T >::parent_.
tree_node< T > * mln::util::tree_node< T >::add_child | ( | tree_node< T > * | tree_node | ) | [inline] |
Bind tree_node
to the current tree_node and become its child.
References mln::util::tree_node< T >::children(), mln::util::tree_node< T >::parent(), and mln::util::tree_node< T >::parent_.
bool mln::util::tree_node< T >::check_consistency | ( | ) | [inline] |
Check the consistency of the tree_node.
References mln::util::tree_node< T >::child_.
const std::vector< tree_node< T > * > & mln::util::tree_node< T >::children | ( | ) | const [inline] |
The getter of the children.
References mln::util::tree_node< T >::child_.
std::vector< tree_node< T > * > & mln::util::tree_node< T >::children | ( | ) | [inline] |
The getter of the children.
References mln::util::tree_node< T >::child_.
Referenced by mln::util::tree_node< T >::add_child(), mln::util::tree< T >::add_tree_up(), mln::util::impl::display_branch_rec(), mln::util::impl::display_tree_rec(), mln::util::impl::tree_to_fast_(), and mln::util::impl::tree_to_image_rec().
tree_node< T > * mln::util::tree_node< T >::delete_tree_node | ( | ) | [inline] |
Delete the current tree_node.
References mln::util::tree_node< T >::child_, and mln::util::tree_node< T >::parent_.
const T & mln::util::tree_node< T >::elt | ( | ) | const [inline] |
The const getter of the element.
References mln::util::tree_node< T >::elt_.
T & mln::util::tree_node< T >::elt | ( | ) | [inline] |
The getter of the element.
References mln::util::tree_node< T >::elt_.
Referenced by mln::util::impl::display_branch_rec(), mln::util::impl::display_tree_rec(), mln::util::tree_node< T >::print(), and mln::util::impl::tree_to_image_rec().
tree_node< T > * mln::util::tree_node< T >::parent | ( | ) | [inline] |
The getter of the parent.
References mln::util::tree_node< T >::parent_.
Referenced by mln::util::tree_node< T >::add_child(), mln::util::branch_iter_ind< T >::deepness(), and mln::util::branch_iter< T >::deepness().
void mln::util::tree_node< T >::print | ( | std::ostream & | ostr, | |
int | level = 0 | |||
) | [inline] |
Print on ostr
the arborescence with the current tree_node as root.
[in] | ostr | The output stream. |
[in] | level | The deep level |
References mln::util::tree_node< T >::child_, and mln::util::tree_node< T >::elt().
tree_node< T > * mln::util::tree_node< T >::search | ( | T & | elt | ) | [inline] |
Search the tree_node with value elt
in the arborescence of the current tree_node.
[in] | elt | The value of the searched tree_node. |
elt
value. References mln::util::tree_node< T >::search_rec().
int mln::util::tree_node< T >::search_rec | ( | tree_node< T > ** | res, | |
T & | elt | |||
) | [inline] |
The using method for method search.
References mln::util::tree_node< T >::child_, and mln::util::tree_node< T >::elt_.
Referenced by mln::util::tree_node< T >::search().
void mln::util::tree_node< T >::set_parent | ( | tree_node< T > * | parent | ) | [inline] |
Bind tree_node
to the current tree_node and become its parent.
[in] | parent | The new parent tree_node. |
References mln::util::tree_node< T >::child_, and mln::util::tree_node< T >::parent_.
std::vector< tree_node<T>* > mln::util::tree_node< T >::child_ [private] |
The children.
Referenced by mln::util::tree_node< T >::add_child(), mln::util::tree_node< T >::check_consistency(), mln::util::tree_node< T >::children(), mln::util::tree_node< T >::delete_tree_node(), mln::util::tree_node< T >::print(), mln::util::tree_node< T >::search_rec(), and mln::util::tree_node< T >::set_parent().
T mln::util::tree_node< T >::elt_ [private] |
The value.
Referenced by mln::util::tree_node< T >::elt(), and mln::util::tree_node< T >::search_rec().
tree_node<T>* mln::util::tree_node< T >::parent_ [private] |