NAME
ACE_DLList_Reverse_Iterator - A double-linked list container class iterator.
SYNOPSIS
#include <ace/Containers.h>
template<class T>
class ACE_DLList_Reverse_Iterator :
public ACE_Double_Linked_List_Reverse_Iterator <ACE_DLList_Node>
{
public:
friend class ACE_DLList<T>;
friend class ACE_DLList_Node;
ACE_DLList_Reverse_Iterator (ACE_DLList<T> &l);
void reset (ACE_DLList<T> &l);
int advance (void);
int next (T *&);
T *next (void) const;
int remove (void);
void dump (void) const;
private:
ACE_DLList<T> *list_;
};
DESCRIPTION
This implementation uses ACE_Double_Linked_List_Iterator to perform the logic behind this container class. It delegates all of its calls to ACE_Double_Linked_List_Iterator.
Initialization method.
ACE_DLList_Reverse_Iterator (ACE_DLList<T> &l);
void reset (ACE_DLList<T> &l);
Retasks the iterator to iterate over a new Double_Linked_List. This allows clients to reuse an iterator without incurring the constructor overhead. If you do use this, be aware that if there are more than one reference to this iterator, the other "clients" may be very bothered when their iterator changes. @@ Here be dragons. Comments?
Iteration methods.
int advance (void);
Move forward by one element in the set. Returns 0 when all the items in the set have been seen, else 1.
int next (T *&);
Pass back the next_item that hasn't been seen in the Stack. Returns 0 when all items have been seen, else 1.
T *next (void) const;
Delegates to ACE_Double_Linked_List_Iterator. DEPRECATED
int remove (void);
Removes the current item (i.e., next) from the list.
void dump (void) const;
Delegates to ACE_Double_Linked_List_Iterator.
AUTHOR
Doug Schmidt
Initialization and termination methods.
Check boundary conditions.
Classic unordered set operations.
LIBRARY
ace