#include <Containers_T.h>
Collaboration diagram for ACE_Unbounded_Stack_Iterator< T >:
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. |
Definition at line 508 of file Containers_T.h.
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 1469 of file Containers_T.cpp.
01470 : current_ (q.head_->next_), 01471 stack_ (q) 01472 { 01473 // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::ACE_Unbounded_Stack_Iterator"); 01474 }
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 1477 of file Containers_T.cpp.
References ACE_Unbounded_Stack_Iterator< T >::current_, ACE_Node< T, C >::next_, and ACE_Unbounded_Stack_Iterator< T >::stack_.
01478 { 01479 // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::advance"); 01480 this->current_ = this->current_->next_; 01481 return this->current_ != this->stack_.head_; 01482 }
int ACE_Unbounded_Stack_Iterator< T >::done | ( | void | ) | const |
Returns 1 when all items have been seen, else 0.
Definition at line 1493 of file Containers_T.cpp.
References ACE_TRACE, ACE_Unbounded_Stack_Iterator< T >::current_, and ACE_Unbounded_Stack_Iterator< T >::stack_.
01494 { 01495 ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::done"); 01496 01497 return this->current_ == this->stack_.head_; 01498 }
void ACE_Unbounded_Stack_Iterator< T >::dump | ( | void | ) | const |
Dump the state of an object.
Definition at line 1461 of file Containers_T.cpp.
01462 { 01463 #if defined (ACE_HAS_DUMP) 01464 // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::dump"); 01465 #endif /* ACE_HAS_DUMP */ 01466 }
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 1485 of file Containers_T.cpp.
References ACE_Unbounded_Stack_Iterator< T >::current_, and ACE_Unbounded_Stack_Iterator< T >::stack_.
01486 { 01487 // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::first"); 01488 this->current_ = this->stack_.head_->next_; 01489 return this->current_ != this->stack_.head_; 01490 }
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 1501 of file Containers_T.cpp.
References ACE_Unbounded_Stack_Iterator< T >::current_, and ACE_Node< T, C >::item_.
Referenced by ACE_Notification_Queue::pop_next_notification(), and ACE_Notification_Queue::purge_pending_notifications().
01502 { 01503 // ACE_TRACE ("ACE_Unbounded_Stack_Iterator<T>::next"); 01504 if (this->current_ == this->stack_.head_) 01505 return 0; 01506 else 01507 { 01508 item = &this->current_->item_; 01509 return 1; 01510 } 01511 }
ACE_Unbounded_Stack_Iterator< T >::ACE_ALLOC_HOOK_DECLARE |
ACE_Node<T>* ACE_Unbounded_Stack_Iterator< T >::current_ [private] |
Pointer to the current node in the iteration.
Definition at line 540 of file Containers_T.h.
Referenced by ACE_Unbounded_Stack_Iterator< T >::advance(), ACE_Unbounded_Stack_Iterator< T >::done(), ACE_Unbounded_Stack_Iterator< T >::first(), and ACE_Unbounded_Stack_Iterator< T >::next().
ACE_Unbounded_Stack<T>& ACE_Unbounded_Stack_Iterator< T >::stack_ [private] |
Pointer to the Stack we're iterating over.
Definition at line 543 of file Containers_T.h.
Referenced by ACE_Unbounded_Stack_Iterator< T >::advance(), ACE_Unbounded_Stack_Iterator< T >::done(), and ACE_Unbounded_Stack_Iterator< T >::first().