# ACE_Unbounded_Queue_Iterator< T > Class Template Reference

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

`#include <Unbounded_Queue.h>`

List of all members.

## Public Member Functions

| ACE_Unbounded_Queue_Iterator (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.
ACE_Unbounded_Queue< T > & | queue_
| Pointer to the queue we're iterating over.

## Detailed Description

### template<class T>
class ACE_Unbounded_Queue_Iterator< T >

Implement an iterator over an unbounded queue.

## Constructor & Destructor Documentation

template<class T>
ACE_Unbounded_Queue_Iterator< T >::ACE_Unbounded_Queue_Iterator | ( | ACE_Unbounded_Queue< T > & | q,
|  | int | end = `0`
| ) |

## Member Function Documentation

template<class T>
int ACE_Unbounded_Queue_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.

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

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

template<class T>
void ACE_Unbounded_Queue_Iterator< T >::dump | ( | void |  | ) | const

| Dump the state of an object.

template<class T>
int ACE_Unbounded_Queue_Iterator< T >::first | ( | void |  | ) |

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

template<class T>
int ACE_Unbounded_Queue_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.

## Member Data Documentation

template<class T>
ACE_Unbounded_Queue_Iterator< T >::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks.

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

| Pointer to the current node in the iteration.

template<class T>
ACE_Unbounded_Queue<T>& ACE_Unbounded_Queue_Iterator< T >::queue_`[private]`

| Pointer to the queue we're iterating over.

The documentation for this class was generated from the following files:

- Unbounded_Queue.h
- Unbounded_Queue.cpp