#include <ace/Containers.h>
template<class T> class ACE_Double_Linked_List_Reverse_Iterator : public ACE_Double_Linked_List_Iterator_Base <T> {
public:ACE_Double_Linked_List_Reverse_Iterator ( ACE_Double_Linked_List<T> & );void reset (ACE_Double_Linked_List<T> &);int first (void);int advance (void);T* advance_and_remove (int dont_remove);ACE_Double_Linked_List_Reverse_Iterator<T> & operator++ (void);ACE_Double_Linked_List_Reverse_Iterator<T> operator++ (int);ACE_Double_Linked_List_Reverse_Iterator<T> & operator-- (void);ACE_Double_Linked_List_Reverse_Iterator<T> operator-- (int);void dump (void) const;ACE_ALLOC_HOOK_DECLARE;};
class T must delcare
ACE_Double_Linked_ListT,
ACE_Double_Linked_List_Iterator_Base T and
ACE_Double_Linked_List_Iterator as friend classes and class T
should also have data members T* next_ and T* prev_.
ACE_Double_Linked_List_Reverse_Iterator (ACE_Double_Linked_List<T> &);
void reset (ACE_Double_Linked_List<T> &);
int first (void);
int advance (void);
T* advance_and_remove (int dont_remove);
dont_remove equals 0, this function behaves like advance
but return 0 (NULL) instead.
ACE_Double_Linked_List_Reverse_Iterator<T> & operator++ (void);
ACE_Double_Linked_List_Reverse_Iterator<T> operator++ (int);
ACE_Double_Linked_List_Reverse_Iterator<T> & operator-- (void);
ACE_Double_Linked_List_Reverse_Iterator<T> operator-- (int);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;