ACE_Unbounded_Set_Ex_Const_Iterator< T, C > Class Template Reference

Implement an const iterator over an unbounded set. More...

#include <Unbounded_Set_Ex.h>

List of all members.

Public Member Functions

 ACE_Unbounded_Set_Ex_Const_Iterator (const ACE_Unbounded_Set_Ex< T, C > &s, bool end=false)
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.
ACE_Unbounded_Set_Ex_Const_Iterator<
T, C > 
operator++ (int)
 Postfix advance.
ACE_Unbounded_Set_Ex_Const_Iterator<
T, C > & 
operator++ (void)
 Prefix advance.
T & operator * (void)
 Returns a reference to the internal element this is pointing to.
bool operator== (const ACE_Unbounded_Set_Ex_Const_Iterator< T, C > &) const
 Check if two iterators point to the same position.
bool operator!= (const ACE_Unbounded_Set_Ex_Const_Iterator< T, C > &) const

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Private Attributes

ACE_Node< T, C > * current_
 Pointer to the current node in the iteration.
const ACE_Unbounded_Set_Ex<
T, C > * 
set_
 Pointer to the set we're iterating over.


Detailed Description

template<class T, class C>
class ACE_Unbounded_Set_Ex_Const_Iterator< T, C >

Implement an const iterator over an unbounded set.

Definition at line 102 of file Unbounded_Set_Ex.h.


Constructor & Destructor Documentation

template<class T, class C>
ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::ACE_Unbounded_Set_Ex_Const_Iterator ( const ACE_Unbounded_Set_Ex< T, C > &  s,
bool  end = false 
)

Definition at line 401 of file Unbounded_Set_Ex.cpp.

00404   : current_ (!end ? s.head_->next_ : s.head_ ),
00405     set_ (&s)
00406 {
00407   // ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::ACE_Unbounded_Set_Ex_Const_Iterator");
00408 }


Member Function Documentation

template<class T, class C>
int ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::advance ( void   ) 

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

Definition at line 411 of file Unbounded_Set_Ex.cpp.

References ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::current_, and ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::set_.

Referenced by ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator++().

00412 {
00413   // ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::advance");
00414   this->current_ = this->current_->next_;
00415   return this->current_ != this->set_->head_;
00416 }

template<class T, class C>
int ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::done ( void   )  const

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

Definition at line 427 of file Unbounded_Set_Ex.cpp.

References ACE_TRACE, ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::current_, and ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::set_.

00428 {
00429   ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::done");
00430 
00431   return this->current_ == this->set_->head_;
00432 }

template<class T, class C>
void ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::dump ( void   )  const

Dump the state of an object.

Definition at line 393 of file Unbounded_Set_Ex.cpp.

00394 {
00395 #if defined (ACE_HAS_DUMP)
00396   // ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::dump");
00397 #endif /* ACE_HAS_DUMP */
00398 }

template<class T, class C>
int ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::first ( void   ) 

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

Definition at line 419 of file Unbounded_Set_Ex.cpp.

References ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::current_, and ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::set_.

00420 {
00421   // ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::first");
00422   this->current_ = this->set_->head_->next_;
00423   return this->current_ != this->set_->head_;
00424 }

template<class T, class C>
int ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::next ( T *&  next_item  ) 

Pass back the next_item that hasn't been seen in the Set.

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

Definition at line 435 of file Unbounded_Set_Ex.cpp.

References ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::current_.

Referenced by ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator *().

00436 {
00437   // ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::next");
00438   if (this->current_ == this->set_->head_)
00439     return 0;
00440   else
00441     {
00442       item = &this->current_->item_;
00443       return 1;
00444     }
00445 }

template<class T, class C>
T & ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator * ( void   ) 

Returns a reference to the internal element this is pointing to.

Definition at line 471 of file Unbounded_Set_Ex.cpp.

References ACE_ASSERT, and ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::next().

00472 {
00473   //ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::operator*");
00474   T *retv = 0;
00475 
00476   int const result = this->next (retv);
00477   ACE_ASSERT (result != 0);
00478   ACE_UNUSED_ARG (result);
00479 
00480   return *retv;
00481 }

template<class T, class C>
bool ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator!= ( const ACE_Unbounded_Set_Ex_Const_Iterator< T, C > &   )  const

Definition at line 491 of file Unbounded_Set_Ex.cpp.

References ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::current_, and ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::set_.

00492 {
00493   //ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::operator!=");
00494   return (this->set_ != rhs.set_ || this->current_ != rhs.current_);
00495 }

template<class T, class C>
ACE_Unbounded_Set_Ex_Const_Iterator< T, C > & ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator++ ( void   ) 

Prefix advance.

Definition at line 460 of file Unbounded_Set_Ex.cpp.

References ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::advance().

00461 {
00462   // ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::operator++ (void)");
00463 
00464   // prefix operator
00465 
00466   this->advance ();
00467   return *this;
00468 }

template<class T, class C>
ACE_Unbounded_Set_Ex_Const_Iterator< T, C > ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator++ ( int   ) 

Postfix advance.

Definition at line 448 of file Unbounded_Set_Ex.cpp.

References ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::advance().

00449 {
00450   //ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::operator++ (int)");
00451   ACE_Unbounded_Set_Ex_Const_Iterator<T, C> retv (*this);
00452 
00453   // postfix operator
00454 
00455   this->advance ();
00456   return retv;
00457 }

template<class T, class C>
bool ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator== ( const ACE_Unbounded_Set_Ex_Const_Iterator< T, C > &   )  const

Check if two iterators point to the same position.

Definition at line 484 of file Unbounded_Set_Ex.cpp.

References ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::current_, and ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::set_.

00485 {
00486   //ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::operator==");
00487   return (this->set_ == rhs.set_ && this->current_ == rhs.current_);
00488 }


Member Data Documentation

template<class T, class C>
ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

Definition at line 145 of file Unbounded_Set_Ex.h.

template<class T, class C>
ACE_Node<T, C>* ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::current_ [private]

Pointer to the current node in the iteration.

Definition at line 150 of file Unbounded_Set_Ex.h.

Referenced by ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::advance(), ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::done(), ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::first(), ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::next(), ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator!=(), and ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator==().

template<class T, class C>
const ACE_Unbounded_Set_Ex<T, C>* ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::set_ [private]

Pointer to the set we're iterating over.

Definition at line 153 of file Unbounded_Set_Ex.h.

Referenced by ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::advance(), ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::done(), ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::first(), ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator!=(), and ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::operator==().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:35:51 2010 for ACE by  doxygen 1.4.7