Public Member Functions | Public Attributes | Private Attributes

ACE_Unbounded_Queue_Const_Iterator< T > Class Template Reference

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

#include <Unbounded_Queue.h>

Collaboration diagram for ACE_Unbounded_Queue_Const_Iterator< T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_Unbounded_Queue_Const_Iterator (const ACE_Unbounded_Queue< T > &q, int end=0)
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.
const ACE_Unbounded_Queue< T > & queue_
 Pointer to the queue we're iterating over.

Detailed Description

template<class T>
class ACE_Unbounded_Queue_Const_Iterator< T >

Implement an iterator over an const unbounded queue.

Definition at line 81 of file Unbounded_Queue.h.


Constructor & Destructor Documentation

template<class T >
ACE_Unbounded_Queue_Const_Iterator< T >::ACE_Unbounded_Queue_Const_Iterator ( const ACE_Unbounded_Queue< T > &  q,
int  end = 0 
)

Definition at line 332 of file Unbounded_Queue.cpp.

  : current_ (end == 0 ? q.head_->next_ : q.head_ ),
    queue_ (q)
{
  // ACE_TRACE ("ACE_Unbounded_Queue_Const_Iterator<T>::ACE_Unbounded_Queue_Const_Iterator");
}


Member Function Documentation

template<class T >
int ACE_Unbounded_Queue_Const_Iterator< T >::advance ( void   ) 

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

Definition at line 340 of file Unbounded_Queue.cpp.

{
  // ACE_TRACE ("ACE_Unbounded_Queue_Const_Iterator<T>::advance");
  this->current_ = this->current_->next_;
  return this->current_ != this->queue_.head_;
}

template<class T >
int ACE_Unbounded_Queue_Const_Iterator< T >::done ( void   )  const

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

Definition at line 356 of file Unbounded_Queue.cpp.

{
  ACE_TRACE ("ACE_Unbounded_Queue_Const_Iterator<T>::done");

  return this->current_ == this->queue_.head_;
}

template<class T >
void ACE_Unbounded_Queue_Const_Iterator< T >::dump ( void   )  const

Dump the state of an object.

Definition at line 324 of file Unbounded_Queue.cpp.

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

template<class T >
int ACE_Unbounded_Queue_Const_Iterator< T >::first ( void   ) 

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

Definition at line 348 of file Unbounded_Queue.cpp.

{
  // ACE_TRACE ("ACE_Unbounded_Queue_Const_Iterator<T>::first");
  this->current_ = this->queue_.head_->next_;
  return this->current_ != this->queue_.head_;
}

template<class T >
int ACE_Unbounded_Queue_Const_Iterator< T >::next ( T *&  next_item  ) 

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

Definition at line 364 of file Unbounded_Queue.cpp.

{
  // ACE_TRACE ("ACE_Unbounded_Queue_Const_Iterator<T>::next");
  if (this->current_ == this->queue_.head_)
    return 0;
  else
    {
      item = &this->current_->item_;
      return 1;
    }
}


Member Data Documentation

Declare the dynamic allocation hooks.

Definition at line 108 of file Unbounded_Queue.h.

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

Pointer to the current node in the iteration.

Definition at line 112 of file Unbounded_Queue.h.

template<class T >
const ACE_Unbounded_Queue<T>& ACE_Unbounded_Queue_Const_Iterator< T >::queue_ [private]

Pointer to the queue we're iterating over.

Definition at line 115 of file Unbounded_Queue.h.


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