ACE 8.0.5
Loading...
Searching...
No Matches
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>

Public Member Functions

 ACE_Ordered_MultiSet_Iterator (ACE_Ordered_MultiSet< T > &s)
int next (T *&next_item) const
int first ()
int last ()
int advance ()
int retreat ()
int done () const
 Returns 1 when all items have been seen, else 0.
void dump () const
 Dump the state of an object.
T & operator* ()
 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

◆ ACE_Ordered_MultiSet_Iterator()

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

Member Function Documentation

◆ advance()

template<class T>
int ACE_Ordered_MultiSet_Iterator< T >::advance ( )
inline

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

◆ done()

template<class T>
int ACE_Ordered_MultiSet_Iterator< T >::done ( ) const
inline

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

◆ dump()

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

Dump the state of an object.

◆ first()

template<class T>
int ACE_Ordered_MultiSet_Iterator< T >::first ( )
inline

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

◆ last()

template<class T>
int ACE_Ordered_MultiSet_Iterator< T >::last ( )
inline

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

◆ next()

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.

◆ operator*()

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

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

◆ retreat()

template<class T>
int ACE_Ordered_MultiSet_Iterator< T >::retreat ( )
inline

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

◆ ACE_Ordered_MultiSet< T >

template<class T>
friend class ACE_Ordered_MultiSet< T >
friend

Member Data Documentation

◆ ACE_ALLOC_HOOK_DECLARE

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

Declare the dynamic allocation hooks.

◆ current_

template<class T>
ACE_DNode<T>* ACE_Ordered_MultiSet_Iterator< T >::current_
private

Pointer to the current node in the iteration.

◆ set_

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: