Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator > Class Template Reference

Pre-order iterator for trees. More...

#include <general_tree.hh>

List of all members.

Public Types

typedef std::iterator< std::forward_iterator_tag,
TItem >::difference_type 
difference_type
 Imports difference type.

typedef std::iterator< std::forward_iterator_tag,
TItem >::iterator_category 
iterator_category
 Imports category tag type.

typedef std::iterator< std::forward_iterator_tag,
TItem >::pointer 
pointer
 Imports pointer type.

typedef std::iterator< std::forward_iterator_tag,
TItem >::reference 
reference
 Imports reference type.

typedef std::iterator< std::forward_iterator_tag,
TItem >::value_type 
value_type
 Imports value type.


Public Methods

 TGeneralTreePreIterator (void)
 Builds a new instance pointing to 'past the end'.

 TGeneralTreePreIterator (const TTreeNode< TItem, TAllocator > *pktNODE)
 TGeneralTreePreIterator (const TGeneralTreeSideIterator< TItem, TAllocator > &rktSIDE_ITERATOR)
TGeneralTreePreIterator & operator++ (void) throw (TConstraintException)
TGeneralTreePreIterator operator++ (int)
TGeneralTreePreIterator & operator= (const TGeneralTreePreIterator< TItem, TAllocator > &rktPRE_ITERATOR)
TGeneralTreePreIterator & operator= (const TGeneralTreeSideIterator< TItem, TAllocator > &rktSIDE_ITERATOR)
TGeneralTreePreIterator leftChild (void) const
bool operator== (const TGeneralTreeSideIterator< TItem, TAllocator > &rktSIDE_ITERATOR) const
bool operator!= (const TGeneralTreeSideIterator< TItem, TAllocator > &rktSIDE_ITERATOR) const
TGeneralTreePreIterator rightSibling (void) const

Friends

class TGeneralTree
 Friend class.

class TGeneralTreeSideIterator
 Friend class.


Detailed Description

template<typename TItem, template< typename TItemA > class TAllocator>
class mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >

Pre-order iterator for trees.

Definition at line 282 of file general_tree.hh.


Constructor & Destructor Documentation

template<typename TItem, template< typename TItemA > class TAllocator>
mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::TGeneralTreePreIterator const TTreeNode< TItem, TAllocator > *    pktNODE [inline]
 

Builds a new instance pointing to rtNODE.

Parameters:
rtNODE  Node to point to.

Definition at line 346 of file general_tree.hh.

template<typename TItem, template< typename TItemA > class TAllocator>
mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::TGeneralTreePreIterator const TGeneralTreeSideIterator< TItem, TAllocator > &    rktSIDE_ITERATOR [inline]
 

Builds a new instance pointing to the same location that the iterator rktSIDE_ITERATOR points to.

Parameters:
rktSIDE_ITERATOR  Source side-order iterator.

Definition at line 355 of file general_tree.hh.


Member Function Documentation

template<typename TItem, template< typename TItemA > class TAllocator>
TGeneralTreePreIterator mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::leftChild void    const [inline]
 

Returns a tree pre-iterator pointing to the left child node.

Returns:
A tree pre-iterator pointing to the left child node.
Precondition:
( !empty() )

Definition at line 417 of file general_tree.hh.

References mpcl::util::collection::TTreeNode< TItem, TAllocator >::qtFirstChildNode, and mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::TGeneralTreePreIterator().

template<typename TItem, template< typename TItemA > class TAllocator>
bool mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::operator!= const TGeneralTreeSideIterator< TItem, TAllocator > &    rktSIDE_ITERATOR const [inline]
 

Tests if iterator rktSIDE_ITERATOR does not point to the same position that this instance.

Parameters:
rktSIDE_ITERATOR  Source pre-order iterator.
Returns:
True if equal.

Definition at line 458 of file general_tree.hh.

References mpcl::util::collection::TGeneralTreeSideIterator< TItem, TAllocator >::ptCurrentNode.

template<typename TItem, template< typename TItemA > class TAllocator>
TGeneralTreePreIterator mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::operator++ int    [inline]
 

Post-increments the iterator position to the next position. The position follows a pre-order iteration.

Returns:
old (*this)

Definition at line 373 of file general_tree.hh.

References mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::operator++().

template<typename TItem, template< typename TItemA > class TAllocator>
TGeneralTreePreIterator< TItem, TAllocator > & mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::operator++ void    throw (TConstraintException) [inline]
 

Post-increments the iterator position to the next position. The position follows a pre-order iteration.

Returns:
This instance.
Exceptions:
TConstraintException  If iterator is past the end.

Definition at line 1478 of file general_tree.hh.

Referenced by mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::operator++().

template<typename TItem, template< typename TItemA > class TAllocator>
TGeneralTreePreIterator& mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::operator= const TGeneralTreeSideIterator< TItem, TAllocator > &    rktSIDE_ITERATOR [inline]
 

Copies the position pointed by rktSIDE_ITERATOR.

Parameters:
rktSIDE_ITERATOR  Source right sibling iterator.
Returns:
This instance.

Definition at line 399 of file general_tree.hh.

References mpcl::util::collection::TGeneralTreeSideIterator< TItem, TAllocator >::ptCurrentNode.

template<typename TItem, template< typename TItemA > class TAllocator>
TGeneralTreePreIterator& mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::operator= const TGeneralTreePreIterator< TItem, TAllocator > &    rktPRE_ITERATOR [inline]
 

Copies the position pointed by rktPRE_ITERATOR.

Parameters:
rktPRE_ITERATOR  Source pre-order iterator.
Returns:
This instance.

Definition at line 387 of file general_tree.hh.

References mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::ptCurrentNode.

template<typename TItem, template< typename TItemA > class TAllocator>
bool mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::operator== const TGeneralTreeSideIterator< TItem, TAllocator > &    rktSIDE_ITERATOR const [inline]
 

Tests if iterator rktSIDE_ITERATOR points to the same position that this instance.

Parameters:
rktSIDE_ITERATOR  Source pre-order iterator.
Returns:
True if equal.

Definition at line 447 of file general_tree.hh.

References mpcl::util::collection::TGeneralTreeSideIterator< TItem, TAllocator >::ptCurrentNode.

template<typename TItem, template< typename TItemA > class TAllocator>
TGeneralTreePreIterator mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::rightSibling void    const [inline]
 

Returns a tree pre iterator pointing to the right sibling node.

Returns:
A tree pre iterator pointing to the right sibling node.
Precondition:
( !empty() )

Definition at line 478 of file general_tree.hh.

References mpcl::util::collection::TTreeNode< TItem, TAllocator >::qtRightNode, and mpcl::util::collection::TGeneralTreePreIterator< TItem, TAllocator >::TGeneralTreePreIterator().


The documentation for this class was generated from the following file:
Generated on Mon Oct 13 02:35:27 2003 for MPCL by doxygen1.2.18