liborigin2 13/09/2010
Public Types | Public Member Functions | Public Attributes | Protected Attributes
tree< T, tree_node_allocator >::iterator_base Class Reference

Base class for iterators, only pointers stored, no traversal logic. More...

#include <tree.hh>

Inheritance diagram for tree< T, tree_node_allocator >::iterator_base:
tree< T, tree_node_allocator >::breadth_first_queued_iterator tree< T, tree_node_allocator >::fixed_depth_iterator tree< T, tree_node_allocator >::leaf_iterator tree< T, tree_node_allocator >::post_order_iterator tree< T, tree_node_allocator >::pre_order_iterator tree< T, tree_node_allocator >::sibling_iterator

List of all members.

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_nodenode

Protected Attributes

bool skip_current_children_

Detailed Description

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

Base class for iterators, only pointers stored, no traversal logic.


Member Typedef Documentation

template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
typedef ptrdiff_t tree< T, tree_node_allocator >::iterator_base::difference_type
template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
typedef std::bidirectional_iterator_tag tree< T, tree_node_allocator >::iterator_base::iterator_category
template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
typedef T* tree< T, tree_node_allocator >::iterator_base::pointer
template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
typedef T& tree< T, tree_node_allocator >::iterator_base::reference
template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
typedef size_t tree< T, tree_node_allocator >::iterator_base::size_type
template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
typedef T tree< T, tree_node_allocator >::iterator_base::value_type

Constructor & Destructor Documentation

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

Member Function Documentation

template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator tree< T, tree_node_allocator >::iterator_base::begin ( ) const
template<class T , class tree_node_allocator >
tree< T, tree_node_allocator >::sibling_iterator tree< T, tree_node_allocator >::iterator_base::end ( ) const
template<class T , class tree_node_allocator >
unsigned int tree< T, tree_node_allocator >::iterator_base::number_of_children ( ) const

Number of children of the node pointed to by the iterator.

References tree_node_< T >::first_child, tree_node_< T >::last_child, and tree_node_< T >::next_sibling.

Referenced by tree< T, tree_node_allocator >::equal().

template<class T , class tree_node_allocator >
T & tree< T, tree_node_allocator >::iterator_base::operator* ( ) const
template<class T , class tree_node_allocator >
T * tree< T, tree_node_allocator >::iterator_base::operator-> ( ) const
template<class T , class tree_node_allocator >
void tree< T, tree_node_allocator >::iterator_base::skip_children ( )

Member Data Documentation

template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
tree_node* tree< T, tree_node_allocator >::iterator_base::node
template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
bool tree< T, tree_node_allocator >::iterator_base::skip_current_children_ [protected]

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