# ACE_Ordered_MultiSet_Iterator< T > Class Template Reference

Implement a bidirectional iterator over an ordered multiset. This class template requires that < operator semantics be defined for the parameterized type {T}, but does not impose any restriction on how that ordering operator is implemented. More...

`#include <Containers_T.h>`

List of all members.

## Public Member Functions

| ACE_Ordered_MultiSet_Iterator (ACE_Ordered_MultiSet< T > &s)
int | next (T *&next_item) const
int | first (void)
int | last (void)
int | advance (void)
int | retreat (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.
T & | operator * (void)
| Returns a reference to the internal element {this} is pointing to.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Private Attributes

ACE_DNode< T > * | current_
| Pointer to the current node in the iteration.
ACE_Ordered_MultiSet< T > & | set_
| Pointer to the set we're iterating over.

## Friends

class | ACE_Ordered_MultiSet<T>

## Detailed Description

### template<class T>
class ACE_Ordered_MultiSet_Iterator< T >

Implement a bidirectional iterator over an ordered multiset. This class template requires that < operator semantics be defined for the parameterized type {T}, but does not impose any restriction on how that ordering operator is implemented.

## Constructor & Destructor Documentation

template<class T>
ACE_Ordered_MultiSet_Iterator< T >::ACE_Ordered_MultiSet_Iterator | ( | ACE_Ordered_MultiSet< T > & | s | ) |

## Member Function Documentation

template<class T>
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::advance | ( | void |  | ) |

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

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

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

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

| Dump the state of an object.

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

| Repositions the iterator at the first item in the ordered multiset Returns 0 if the list is empty else 1.

template<class T>
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::last | ( | void |  | ) |

| Repositions the iterator at the last item in the ordered multiset Returns 0 if the list is empty else 1.

template<class T>
int ACE_Ordered_MultiSet_Iterator< T >::next | ( | T *& | next_item | ) | const

| Pass back the {next_item} that hasn't been seen in the ordered multiset. Returns 0 when all items have been seen, else 1.

template<class T>
T & ACE_Ordered_MultiSet_Iterator< T >::operator * | ( | void |  | ) |

| Returns a reference to the internal element {this} is pointing to.

template<class T>
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::retreat | ( | void |  | ) |

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

## Friends And Related Function Documentation

template<class T>
friend class ACE_Ordered_MultiSet<T>`[friend]`

## Member Data Documentation

template<class T>
ACE_Ordered_MultiSet_Iterator< T >::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks.

template<class T>
ACE_DNode<T>* ACE_Ordered_MultiSet_Iterator< T >::current_ `[private]`

| Pointer to the current node in the iteration.

template<class T>
ACE_Ordered_MultiSet<T>& ACE_Ordered_MultiSet_Iterator< T >::set_ `[private]`

| Pointer to the set we're iterating over.

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

- Containers_T.h
- Containers_T.cpp
- Containers_T.inl