liborigin 2.0.0
Public Member Functions | Public Attributes | Private Member Functions

tree< T, tree_node_allocator >::sibling_iterator Class Reference

Iterator which traverses only the nodes which are siblings of each other. More...

#include <tree.hh>

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

List of all members.

Public Member Functions

bool operator!= (const sibling_iterator &) const
sibling_iterator operator++ (int)
sibling_iterator & operator++ ()
sibling_iterator & operator+= (unsigned int)
sibling_iterator & operator-- ()
sibling_iterator operator-- (int)
sibling_iterator & operator-= (unsigned int)
bool operator== (const sibling_iterator &) const
tree_node * range_first () const
tree_node * range_last () const
 sibling_iterator (tree_node *)
 sibling_iterator (const sibling_iterator &)
 sibling_iterator ()
 sibling_iterator (const iterator_base &)

Public Attributes

tree_node * parent_

Private Member Functions

void set_parent_ ()

Detailed Description

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

Iterator which traverses only the nodes which are siblings of each other.


Constructor & Destructor Documentation

template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator::sibling_iterator ( )
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator::sibling_iterator ( tree_node *  tn)
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator::sibling_iterator ( const sibling_iterator &  other)
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator::sibling_iterator ( const iterator_base &  other)

Member Function Documentation

template<class T , class tree_node_allocator >
bool tree< T, tree_node_allocator >::sibling_iterator::operator!= ( const sibling_iterator &  other) const
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator tree< T, tree_node_allocator >::sibling_iterator::operator++ ( int  )
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator & tree< T, tree_node_allocator >::sibling_iterator::operator++ ( )
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator & tree< T, tree_node_allocator >::sibling_iterator::operator+= ( unsigned int  num)
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator & tree< T, tree_node_allocator >::sibling_iterator::operator-- ( )
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator tree< T, tree_node_allocator >::sibling_iterator::operator-- ( int  )
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator & tree< T, tree_node_allocator >::sibling_iterator::operator-= ( unsigned int  num)
template<class T , class tree_node_allocator >
bool tree< T, tree_node_allocator >::sibling_iterator::operator== ( const sibling_iterator &  other) const
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::tree_node * tree< T, tree_node_allocator >::sibling_iterator::range_first ( ) const
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::tree_node * tree< T, tree_node_allocator >::sibling_iterator::range_last ( ) const
template<class T , class tree_node_allocator >
void tree< T, tree_node_allocator >::sibling_iterator::set_parent_ ( ) [private]

Member Data Documentation

template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
tree_node* tree< T, tree_node_allocator >::sibling_iterator::parent_

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