Public Types | Public Member Functions | Public Attributes | Private Attributes

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 Types

typedef ACE_Unbounded_Set_Ex
< T, C > 
container_type
typedef std::forward_iterator_tag iterator_category
typedef
container_type::const_value_type 
value_type
typedef
container_type::const_reference 
reference
typedef
container_type::const_pointer 
pointer
typedef
container_type::difference_type 
difference_type

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 113 of file Unbounded_Set_Ex.h.


Member Typedef Documentation

template<class T, class C>
typedef ACE_Unbounded_Set_Ex<T, C> ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::container_type

Definition at line 116 of file Unbounded_Set_Ex.h.

Definition at line 123 of file Unbounded_Set_Ex.h.

template<class T, class C>
typedef std::forward_iterator_tag ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::iterator_category

Definition at line 119 of file Unbounded_Set_Ex.h.

template<class T, class C>
typedef container_type::const_pointer ACE_Unbounded_Set_Ex_Const_Iterator< T, C >::pointer

Definition at line 122 of file Unbounded_Set_Ex.h.

Definition at line 121 of file Unbounded_Set_Ex.h.

Definition at line 120 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.

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


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.

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

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.

{
  ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::done");

  return this->current_ == this->set_->head_;
}

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.

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

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.

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

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.

{
  // ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::next");
  if (this->current_ == this->set_->head_)
    return 0;
  else
    {
      item = &this->current_->item_;
      return 1;
    }
}

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

Definition at line 491 of file Unbounded_Set_Ex.cpp.

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

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.

{
  //ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::operator*");
  T *retv = 0;

  int const result = this->next (retv);
  ACE_ASSERT (result != 0);
  ACE_UNUSED_ARG (result);

  return *retv;
}

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.

{
  // ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::operator++ (void)");

  // prefix operator

  this->advance ();
  return *this;
}

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.

{
  //ACE_TRACE ("ACE_Unbounded_Set_Ex_Const_Iterator<T, C>::operator++ (int)");
  ACE_Unbounded_Set_Ex_Const_Iterator<T, C> retv (*this);

  // postfix operator

  this->advance ();
  return retv;
}

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

Check if two iterators point to the same position.

Definition at line 484 of file Unbounded_Set_Ex.cpp.

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


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 165 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 170 of file Unbounded_Set_Ex.h.

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 173 of file Unbounded_Set_Ex.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines