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  )  [inline]


Member Function Documentation

template<class T>
int ACE_Ordered_MultiSet_Iterator< T >::next ( T *&  next_item  )  const [inline]

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>
ACE_INLINE int ACE_Ordered_MultiSet_Iterator< T >::first ( void   )  [inline]

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   )  [inline]

Repositions the iterator at the last 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 >::advance ( void   )  [inline]

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 >::retreat ( void   )  [inline]

Move backward 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 [inline]

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

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

Dump the state of an object.

template<class T>
T & ACE_Ordered_MultiSet_Iterator< T >::operator* ( void   )  [inline]

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


Friends And Related Function Documentation

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


Member Data Documentation

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:

Generated on Wed Apr 23 02:40:30 2008 for ACE by  doxygen 1.5.5