Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_RB_Tree_Iterator_Base Class Template Reference

Implements a common base class for iterators for a Red-Black Tree ADT. More...

#include <RB_Tree.h>

Inheritance diagram for ACE_RB_Tree_Iterator_Base

Inheritance graph
[legend]
Collaboration diagram for ACE_RB_Tree_Iterator_Base:

Collaboration graph
[legend]
List of all members.

Public Methods

void operator= (const ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &iter)
 Assignment operator: copies both the tree reference and the position in the tree.

int done (void) const
 Returns 1 when the iteration has completed, otherwise 0.

ACE_RB_Tree_Node<EXT_ID, INT_ID>& operator * (void) const
 STL-like iterator dereference operator: returns a reference to the node underneath the iterator.

const ACE_RB_Tree<EXT_ID,
INT_ID, COMPARE_KEYS, ACE_LOCK>& 
tree (void)
 Returns a const reference to the tree over which we're iterating.

int operator== (const ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &) const
 Comparison operator: returns 1 if both iterators point to the same position, otherwise 0.

int operator!= (const ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &) const
 Comparison operator: returns 1 if the iterators point to different positions, otherwise 0.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Protected Methods

 ACE_RB_Tree_Iterator_Base (void)
 Create the singular iterator. No valid iterator can be equal to it, it is illegal to dereference a singular iterator, etc. etc.

 ACE_RB_Tree_Iterator_Base (const ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &tree, int set_first)
 ACE_RB_Tree_Iterator_Base (const ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &iter)
 Copy constructor.

 ~ACE_RB_Tree_Iterator_Base (void)
 Destructor.

int forward_i (void)
 Move forward by one element in the tree. Returns 0 when there are no more elements in the tree, otherwise 1.

int reverse_i (void)
 Move back by one element in the tree. Returns 0 when there are no more elements in the tree, otherwise 1.

void dump_i (void) const
 Dump the state of an object.


Protected Attributes

const ACE_RB_Tree<EXT_ID,
INT_ID, COMPARE_KEYS, ACE_LOCK>* 
tree_
 Reference to the ACE_RB_Tree over which we're iterating.

ACE_RB_Tree_Node<EXT_ID, INT_ID>* node_
 Pointer to the node currently under the iterator.


Detailed Description

template<class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> template class ACE_RB_Tree_Iterator_Base

Implements a common base class for iterators for a Red-Black Tree ADT.


Constructor & Destructor Documentation

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> ( void ) [protected]
 

Create the singular iterator. No valid iterator can be equal to it, it is illegal to dereference a singular iterator, etc. etc.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> ( const ACE_RB_Tree< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >& tree,
int set_first ) [protected]
 

Constructor. Takes an ACE_RB_Tree over which to iterate, and an integer indicating (if non-zero) to position the iterator at the first element in the tree (if this integer is 0, the iterator is positioned at the last element in the tree).

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> ( const ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >& iter ) [protected]
 

Copy constructor.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::~ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> ( void ) [protected]
 

Destructor.


Member Function Documentation

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE int ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::done ( void ) const
 

Returns 1 when the iteration has completed, otherwise 0.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE void ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::dump_i ( void ) const [protected]
 

Dump the state of an object.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE int ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::forward_i ( void ) [protected]
 

Move forward by one element in the tree. Returns 0 when there are no more elements in the tree, otherwise 1.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE ACE_RB_Tree_Node< EXT_ID,INT_ID >& ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::operator * ( void ) const
 

STL-like iterator dereference operator: returns a reference to the node underneath the iterator.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE int ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::operator!= ( const ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >& rbt ) const
 

Comparison operator: returns 1 if the iterators point to different positions, otherwise 0.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
void ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::operator= ( const ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >& iter )
 

Assignment operator: copies both the tree reference and the position in the tree.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE int ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::operator== ( const ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >& rbt ) const
 

Comparison operator: returns 1 if both iterators point to the same position, otherwise 0.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE int ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::reverse_i ( void ) [protected]
 

Move back by one element in the tree. Returns 0 when there are no more elements in the tree, otherwise 1.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_INLINE const ACE_RB_Tree< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >& ACE_RB_Tree_Iterator_Base< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >::tree ( void )
 

Returns a const reference to the tree over which we're iterating.


Member Data Documentation

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented in ACE_RB_Tree_Iterator, and ACE_RB_Tree_Reverse_Iterator.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
ACE_RB_Tree_Node< EXT_ID,INT_ID >* ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::node_ [protected]
 

Pointer to the node currently under the iterator.

template<classEXT_ID, classINT_ID, classCOMPARE_KEYS, classACE_LOCK>
const ACE_RB_Tree< EXT_ID,INT_ID,COMPARE_KEYS,ACE_LOCK >* ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK>::tree_ [protected]
 

Reference to the ACE_RB_Tree over which we're iterating.


The documentation for this class was generated from the following files:
Generated at Sat Dec 1 11:04:32 2001 for ACE by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000