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

liborigin2 29/08/2011

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
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:

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

## Additional Inherited Members
Public Types inherited from tree< T, tree_node_allocator >::iterator_base
typedef ptrdiff_t | difference_type
typedef std::bidirectional_iterator_tag | iterator_category
typedef T * | pointer
typedef T & | reference
typedef size_t | size_type
typedef T | value_type
Public Attributes inherited from tree< T, tree_node_allocator >::iterator_base
tree_node * | node
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.

## Constructor & Destructor Documentation

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::pre_order_iterator::pre_order_iterator | ( | ) |  |

template<class T , class tree_node_allocator >

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

template<class T , class tree_node_allocator >

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

template<class T , class tree_node_allocator >

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

References tree< T, tree_node_allocator >::iterator_base::node, tree< T, tree_node_allocator >::sibling_iterator::parent_, tree< T, tree_node_allocator >::sibling_iterator::range_last(), and tree< T, tree_node_allocator >::iterator_base::skip_children().

## Member Function Documentation

template<class T , class tree_node_allocator >

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

References tree< T, tree_node_allocator >::iterator_base::node.

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::pre_order_iterator & tree< T, tree_node_allocator >::pre_order_iterator::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++ | ( | int | ) |  |

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) |  |

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::pre_order_iterator & tree< T, tree_node_allocator >::pre_order_iterator::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-- | ( | int | ) |  |

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) |  |

template<class T , class tree_node_allocator >

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

References tree< T, tree_node_allocator >::iterator_base::node.

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

- /build/liborigin2/src/liborigin2/tree.hh