LibOFX
tree< T, tree_node_allocator >::pre_order_iterator Class Reference

Depth-first iterator, first accessing the node, then its children. More...

#include <tree.hh>

Inheritance diagram for tree< T, tree_node_allocator >::pre_order_iterator:
tree< T, tree_node_allocator >::iterator_base

Public Member Functions

 pre_order_iterator (tree_node *)
 pre_order_iterator (const iterator_base &)
 pre_order_iterator (const sibling_iterator &)
bool operator== (const pre_order_iterator &) const
bool operator!= (const pre_order_iterator &) const
pre_order_iteratoroperator++ ()
pre_order_iteratoroperator-- ()
pre_order_iterator operator++ (int)
pre_order_iterator operator-- (int)
pre_order_iteratoroperator+= (unsigned int)
pre_order_iteratoroperator-= (unsigned int)
Public Member Functions inherited from tree< T, tree_node_allocator >::iterator_base
 iterator_base (tree_node *)
T & operator* () const
T * operator-> () const
void skip_children ()
 When called, the next increment/decrement skips children of this node.
unsigned int number_of_children () const
 Number of children of the node pointed to by the iterator.
sibling_iterator begin () const
sibling_iterator end () const

Additional Inherited Members

Public Types inherited from tree< T, tree_node_allocator >::iterator_base
typedef T value_type
typedef T * pointer
typedef T & reference
typedef size_t size_type
typedef ptrdiff_t difference_type
typedef std::bidirectional_iterator_tag iterator_category
Data Fields inherited from tree< T, tree_node_allocator >::iterator_base
tree_nodenode
Protected Attributes inherited from tree< T, tree_node_allocator >::iterator_base
bool skip_current_children_

Detailed Description

template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
class tree< T, tree_node_allocator >::pre_order_iterator

Depth-first iterator, first accessing the node, then its children.

Definition at line 162 of file tree.hh.

Constructor & Destructor Documentation

◆ pre_order_iterator() [1/4]

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator::pre_order_iterator ( )

Definition at line 1678 of file tree.hh.

◆ pre_order_iterator() [2/4]

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator::pre_order_iterator ( tree_node * tn)

Definition at line 1684 of file tree.hh.

◆ pre_order_iterator() [3/4]

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator::pre_order_iterator ( const iterator_base & other)

Definition at line 1690 of file tree.hh.

◆ pre_order_iterator() [4/4]

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator::pre_order_iterator ( const sibling_iterator & other)

Definition at line 1696 of file tree.hh.

Member Function Documentation

◆ operator!=()

template<class T, class tree_node_allocator>
bool tree< T, tree_node_allocator >::pre_order_iterator::operator!= ( const pre_order_iterator & other) const

Definition at line 1609 of file tree.hh.

◆ operator++() [1/2]

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator & tree< T, tree_node_allocator >::pre_order_iterator::operator++ ( )

Definition at line 1711 of file tree.hh.

◆ operator++() [2/2]

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator tree< T, tree_node_allocator >::pre_order_iterator::operator++ ( int n)

Definition at line 1752 of file tree.hh.

◆ operator+=()

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator & tree< T, tree_node_allocator >::pre_order_iterator::operator+= ( unsigned int num)

Definition at line 1768 of file tree.hh.

◆ operator--() [1/2]

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator & tree< T, tree_node_allocator >::pre_order_iterator::operator-- ( )

Definition at line 1733 of file tree.hh.

◆ operator--() [2/2]

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator tree< T, tree_node_allocator >::pre_order_iterator::operator-- ( int n)

Definition at line 1760 of file tree.hh.

◆ operator-=()

template<class T, class tree_node_allocator>
tree< T, tree_node_allocator >::pre_order_iterator & tree< T, tree_node_allocator >::pre_order_iterator::operator-= ( unsigned int num)

Definition at line 1779 of file tree.hh.

◆ operator==()

template<class T, class tree_node_allocator>
bool tree< T, tree_node_allocator >::pre_order_iterator::operator== ( const pre_order_iterator & other) const

Definition at line 1616 of file tree.hh.


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