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

ACE_Unbounded_Stack_Iterator Class Template Reference

Implement an iterator over an unbounded Stack. More...

#include <Containers_T.h>

Collaboration diagram for ACE_Unbounded_Stack_Iterator:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Unbounded_Stack_Iterator (ACE_Unbounded_Stack< T > &stack)
 Move to the first element in the <stack>. More...

int next (T *&next_item)
 Pass back the next_item that hasn't been seen in the Stack. Returns 0 when all items have been seen, else 1. More...

int advance (void)
 Move forward by one element in the Stack. Returns 0 when all the items in the Stack have been seen, else 1. More...

int first (void)
 Move to the first element in the Stack. Returns 0 if the Stack is empty, else 1. More...

int done (void) const
 Returns 1 when all items have been seen, else 0. More...

void dump (void) const
 Dump the state of an object. More...


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...


Private Attributes

ACE_Node< T > * current_
 Pointer to the current node in the iteration. More...

ACE_Unbounded_Stack< T > & stack_
 Pointer to the Stack we're iterating over. More...


Detailed Description

template<class T>
class ACE_Unbounded_Stack_Iterator< T >

Implement an iterator over an unbounded Stack.

Definition at line 508 of file Containers_T.h.


Constructor & Destructor Documentation

template<class T>
ACE_Unbounded_Stack_Iterator< T >::ACE_Unbounded_Stack_Iterator ACE_Unbounded_Stack< T > &    stack
 

Move to the first element in the <stack>.

Definition at line 1418 of file Containers_T.cpp.

01419   : current_ (q.head_->next_),
01420     stack_ (q)
01421 {
01422   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::ACE_Unbounded_Stack_Iterator");
01423 }


Member Function Documentation

template<class T>
int ACE_Unbounded_Stack_Iterator< T >::advance void   
 

Move forward by one element in the Stack. Returns 0 when all the items in the Stack have been seen, else 1.

Definition at line 1426 of file Containers_T.cpp.

References current_, and stack_.

01427 {
01428   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::advance");
01429   this->current_ = this->current_->next_;
01430   return this->current_ != this->stack_.head_;
01431 }

template<class T>
int ACE_Unbounded_Stack_Iterator< T >::done void    const
 

Returns 1 when all items have been seen, else 0.

Definition at line 1442 of file Containers_T.cpp.

References ACE_TRACE, current_, and stack_.

01443 {
01444   ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::done");
01445 
01446   return this->current_ == this->stack_.head_;
01447 }

template<class T>
void ACE_Unbounded_Stack_Iterator< T >::dump void    const
 

Dump the state of an object.

Definition at line 1412 of file Containers_T.cpp.

01413 {
01414   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::dump");
01415 }

template<class T>
int ACE_Unbounded_Stack_Iterator< T >::first void   
 

Move to the first element in the Stack. Returns 0 if the Stack is empty, else 1.

Definition at line 1434 of file Containers_T.cpp.

References current_, and stack_.

01435 {
01436   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::first");
01437   this->current_ = this->stack_.head_->next_;
01438   return this->current_ != this->stack_.head_;
01439 }

template<class T>
int ACE_Unbounded_Stack_Iterator< T >::next T *&    next_item
 

Pass back the next_item that hasn't been seen in the Stack. Returns 0 when all items have been seen, else 1.

Definition at line 1450 of file Containers_T.cpp.

References current_, and stack_.

01451 {
01452   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::next");
01453   if (this->current_ == this->stack_.head_)
01454     return 0;
01455   else
01456     {
01457       item = &this->current_->item_;
01458       return 1;
01459     }
01460 }


Member Data Documentation

template<class T>
ACE_Unbounded_Stack_Iterator::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Definition at line 536 of file Containers_T.h.

template<class T>
ACE_Node<T>* ACE_Unbounded_Stack_Iterator::current_ [private]
 

Pointer to the current node in the iteration.

Definition at line 540 of file Containers_T.h.

Referenced by advance, done, first, and next.

template<class T>
ACE_Unbounded_Stack<T>& ACE_Unbounded_Stack_Iterator::stack_ [private]
 

Pointer to the Stack we're iterating over.

Definition at line 543 of file Containers_T.h.

Referenced by advance, done, first, and next.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:58:56 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002