#include <tree.hh>

Public Types | |
| 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 Member Functions | |
| sibling_iterator | begin () const |
| sibling_iterator | end () const |
| iterator_base (tree_node *) | |
| iterator_base () | |
| unsigned int | number_of_children () const |
| Number of children of the node pointed to by the iterator. | |
| T & | operator* () const |
| T * | operator-> () const |
| void | skip_children () |
| When called, the next increment/decrement skips children of this node. | |
Public Attributes | |
| tree_node * | node |
Protected Attributes | |
| bool | skip_current_children_ |
| typedef ptrdiff_t tree< T, tree_node_allocator >::tree::iterator_base::difference_type |
| typedef std::bidirectional_iterator_tag tree< T, tree_node_allocator >::tree::iterator_base::iterator_category |
| typedef T* tree< T, tree_node_allocator >::tree::iterator_base::pointer |
| typedef T& tree< T, tree_node_allocator >::tree::iterator_base::reference |
| typedef size_t tree< T, tree_node_allocator >::tree::iterator_base::size_type |
| typedef T tree< T, tree_node_allocator >::tree::iterator_base::value_type |
| tree< T, tree_node_allocator >::tree::iterator_base::iterator_base | ( | ) | [inline] |
| tree< T, tree_node_allocator >::tree::iterator_base::iterator_base | ( | tree_node * | tn | ) | [inline] |
| tree< T, tree_node_allocator >::sibling_iterator tree< T, tree_node_allocator >::tree::iterator_base::begin | ( | ) | const [inline] |
References tree< T, tree_node_allocator >::tree::iterator_base::end(), tree_node_< T >::first_child, tree< T, tree_node_allocator >::tree::iterator_base::node, and tree< T, tree_node_allocator >::tree::sibling_iterator::parent_.
Referenced by tree< T, tree_node_allocator >::merge(), and tree< T, tree_node_allocator >::tree::breadth_first_queued_iterator::operator++().
| tree< T, tree_node_allocator >::sibling_iterator tree< T, tree_node_allocator >::tree::iterator_base::end | ( | ) | const [inline] |
References tree< T, tree_node_allocator >::tree::iterator_base::node, and tree< T, tree_node_allocator >::tree::sibling_iterator::parent_.
Referenced by tree< T, tree_node_allocator >::tree::iterator_base::begin(), tree< T, tree_node_allocator >::merge(), and tree< T, tree_node_allocator >::tree::breadth_first_queued_iterator::operator++().
| unsigned int tree< T, tree_node_allocator >::tree::iterator_base::number_of_children | ( | ) | const [inline] |
Number of children of the node pointed to by the iterator.
References tree_node_< T >::first_child, tree_node_< T >::last_child, tree_node_< T >::next_sibling, and tree< T, tree_node_allocator >::tree::iterator_base::node.
Referenced by tree< T, tree_node_allocator >::equal().
| T & tree< T, tree_node_allocator >::tree::iterator_base::operator* | ( | ) | const [inline] |
| T * tree< T, tree_node_allocator >::tree::iterator_base::operator-> | ( | ) | const [inline] |
| void tree< T, tree_node_allocator >::tree::iterator_base::skip_children | ( | ) | [inline] |
When called, the next increment/decrement skips children of this node.
References tree< T, tree_node_allocator >::tree::iterator_base::skip_current_children_.
Referenced by tree< T, tree_node_allocator >::copy_(), tree< T, tree_node_allocator >::tree::post_order_iterator::post_order_iterator(), and tree< T, tree_node_allocator >::tree::pre_order_iterator::pre_order_iterator().
| tree_node* tree< T, tree_node_allocator >::tree::iterator_base::node |
Referenced by tree< T, tree_node_allocator >::tree::iterator_base::begin(), tree< T, tree_node_allocator >::tree::post_order_iterator::descend_all(), tree< T, tree_node_allocator >::tree::iterator_base::end(), tree< T, tree_node_allocator >::index(), tree< T, tree_node_allocator >::insert(), tree< T, tree_node_allocator >::tree::leaf_iterator::leaf_iterator(), tree< T, tree_node_allocator >::move_before(), tree< T, tree_node_allocator >::tree::iterator_base::number_of_children(), tree< T, tree_node_allocator >::tree::fixed_depth_iterator::operator!=(), tree< T, tree_node_allocator >::tree::breadth_first_queued_iterator::operator!=(), tree< T, tree_node_allocator >::tree::leaf_iterator::operator!=(), tree< T, tree_node_allocator >::tree::sibling_iterator::operator!=(), tree< T, tree_node_allocator >::tree::pre_order_iterator::operator!=(), tree< T, tree_node_allocator >::tree::post_order_iterator::operator!=(), tree< T, tree_node_allocator >::tree::iterator_base_less::operator()(), tree< T, tree_node_allocator >::tree::iterator_base::operator*(), tree< T, tree_node_allocator >::tree::leaf_iterator::operator++(), tree< T, tree_node_allocator >::tree::sibling_iterator::operator++(), tree< T, tree_node_allocator >::tree::fixed_depth_iterator::operator++(), tree< T, tree_node_allocator >::tree::breadth_first_queued_iterator::operator++(), tree< T, tree_node_allocator >::tree::post_order_iterator::operator++(), tree< T, tree_node_allocator >::tree::pre_order_iterator::operator++(), tree< T, tree_node_allocator >::tree::leaf_iterator::operator--(), tree< T, tree_node_allocator >::tree::sibling_iterator::operator--(), tree< T, tree_node_allocator >::tree::fixed_depth_iterator::operator--(), tree< T, tree_node_allocator >::tree::post_order_iterator::operator--(), tree< T, tree_node_allocator >::tree::pre_order_iterator::operator--(), tree< T, tree_node_allocator >::tree::iterator_base::operator->(), tree< T, tree_node_allocator >::tree::fixed_depth_iterator::operator==(), tree< T, tree_node_allocator >::tree::breadth_first_queued_iterator::operator==(), tree< T, tree_node_allocator >::tree::leaf_iterator::operator==(), tree< T, tree_node_allocator >::tree::sibling_iterator::operator==(), tree< T, tree_node_allocator >::tree::pre_order_iterator::operator==(), tree< T, tree_node_allocator >::tree::post_order_iterator::operator==(), tree< T, tree_node_allocator >::tree::post_order_iterator::post_order_iterator(), tree< T, tree_node_allocator >::tree::pre_order_iterator::pre_order_iterator(), tree< T, tree_node_allocator >::reparent(), tree< T, tree_node_allocator >::replace(), tree< T, tree_node_allocator >::tree::fixed_depth_iterator::set_first_parent_(), tree< T, tree_node_allocator >::tree::sibling_iterator::set_parent_(), tree< T, tree_node_allocator >::sort(), and tree< T, tree_node_allocator >::swap().
bool tree< T, tree_node_allocator >::tree::iterator_base::skip_current_children_ [protected] |
Referenced by tree< T, tree_node_allocator >::tree::post_order_iterator::operator++(), tree< T, tree_node_allocator >::tree::pre_order_iterator::operator++(), tree< T, tree_node_allocator >::tree::post_order_iterator::operator--(), and tree< T, tree_node_allocator >::tree::iterator_base::skip_children().
1.5.8