ACE_Unbounded_Stack_Iterator< T > Class Template Reference

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

#include <Containers_T.h>

List of all members.

Public Member Functions

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

int next (T *&next_item)
int advance (void)
int first (void)
int done (void) const
 Returns 1 when all items have been seen, else 0.

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


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Private Attributes

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

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


Detailed Description

template<class T>
class ACE_Unbounded_Stack_Iterator< T >

Implement an iterator over an unbounded Stack.

Definition at line 510 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 1475 of file Containers_T.cpp.

01476   : current_ (q.head_->next_),
01477     stack_ (q)
01478 {
01479   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::ACE_Unbounded_Stack_Iterator");
01480 }


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 1483 of file Containers_T.cpp.

01484 {
01485   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::advance");
01486   this->current_ = this->current_->next_;
01487   return this->current_ != this->stack_.head_;
01488 }

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 1499 of file Containers_T.cpp.

References ACE_TRACE.

01500 {
01501   ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::done");
01502 
01503   return this->current_ == this->stack_.head_;
01504 }

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

Dump the state of an object.

Definition at line 1467 of file Containers_T.cpp.

01468 {
01469 #if defined (ACE_HAS_DUMP)
01470   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::dump");
01471 #endif /* ACE_HAS_DUMP */
01472 }

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 1491 of file Containers_T.cpp.

01492 {
01493   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::first");
01494   this->current_ = this->stack_.head_->next_;
01495   return this->current_ != this->stack_.head_;
01496 }

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 1507 of file Containers_T.cpp.

01508 {
01509   // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::next");
01510   if (this->current_ == this->stack_.head_)
01511     return 0;
01512   else
01513     {
01514       item = &this->current_->item_;
01515       return 1;
01516     }
01517 }


Member Data Documentation

template<class T>
ACE_Unbounded_Stack_Iterator< T >::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Definition at line 538 of file Containers_T.h.

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

Pointer to the current node in the iteration.

Definition at line 542 of file Containers_T.h.

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

Pointer to the Stack we're iterating over.

Definition at line 545 of file Containers_T.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:32:14 2006 for ACE by doxygen 1.3.6