Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

tree< T, tree_node_allocator >::iterator_base Class Reference

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

#include <tree.h>

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

Inheritance graph
[legend]
Collaboration diagram for tree< T, tree_node_allocator >::iterator_base:

Collaboration graph
[legend]
List of all members.

Public Types

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

Public Member Functions

 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

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  ) 
 


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.

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  ) 
 

When called, the next increment/decrement skips children of this node.


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:
Generated on Thu Mar 16 13:46:02 2006 for FreeLing by  doxygen 1.4.4