aimstil  5.0.5
til::NaryTree< T, N >::iterator Class Reference

Non-const iterator on n-ary trees. More...

#include <cathier/binary_tree.h>

Inheritance diagram for til::NaryTree< T, N >::iterator:
Collaboration diagram for til::NaryTree< T, N >::iterator:

Public Types

typedef iterator_base< NodeBase
 
typedef Base::value_type value_type
 

Public Member Functions

 iterator ()
 
 iterator (Node *p)
 
 iterator (Node *p, Node *parent, std::size_t branch)
 
iterator child (std::size_t i) const
 Convertion into a Node pointer. More...
 
std::size_t branch () const
 
Nodeparent () const
 
value_typeoperator* ()
 
value_typeoperator-> ()
 

Detailed Description

template<typename T, std::size_t N>
class til::NaryTree< T, N >::iterator

Non-const iterator on n-ary trees.

On top of traditional, STL iterator features, the class offers the possibility to go to one of its children via the child() member function. It also keeps track of where it is coming from (its parent and its branch number), because this information is necessary for new allocations.

Definition at line 264 of file binary_tree.h.

Member Typedef Documentation

◆ Base

template<typename T, std::size_t N>
typedef iterator_base<Node> til::NaryTree< T, N >::iterator::Base

Definition at line 268 of file binary_tree.h.

◆ value_type

template<typename T, std::size_t N>
typedef Base::value_type til::NaryTree< T, N >::iterator::value_type

Definition at line 269 of file binary_tree.h.

Constructor & Destructor Documentation

◆ iterator() [1/3]

template<typename T, std::size_t N>
til::NaryTree< T, N >::iterator::iterator ( )
inline

Definition at line 274 of file binary_tree.h.

◆ iterator() [2/3]

template<typename T, std::size_t N>
til::NaryTree< T, N >::iterator::iterator ( Node p)
inline

Definition at line 275 of file binary_tree.h.

◆ iterator() [3/3]

template<typename T, std::size_t N>
til::NaryTree< T, N >::iterator::iterator ( Node p,
Node parent,
std::size_t  branch 
)
inline

Definition at line 276 of file binary_tree.h.

Member Function Documentation

◆ branch()

template<typename T, std::size_t N>
std::size_t til::NaryTree< T, N >::iterator::branch ( ) const
inline

Definition at line 290 of file binary_tree.h.

◆ child()

template<typename T, std::size_t N>
iterator til::NaryTree< T, N >::iterator::child ( std::size_t  i) const
inline

Convertion into a Node pointer.

Definition at line 284 of file binary_tree.h.

◆ operator*()

template<typename T, std::size_t N>
value_type& til::NaryTree< T, N >::iterator::operator* ( void  )
inline

Definition at line 294 of file binary_tree.h.

◆ operator->()

template<typename T, std::size_t N>
value_type* til::NaryTree< T, N >::iterator::operator-> ( void  )
inline

Definition at line 295 of file binary_tree.h.

◆ parent()

template<typename T, std::size_t N>
Node* til::NaryTree< T, N >::iterator::parent ( ) const
inline

Definition at line 292 of file binary_tree.h.


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