#include <ace/Containers.h>
template<class T> class ACE_Double_Linked_List_Iterator_Base {
public:
int next (T *&) const;
T *next (void) const;
int done (void) const;
T & operator* (void) const;
void reset (ACE_Double_Linked_List<T> &);
ACE_ALLOC_HOOK_DECLARE;
protected:
ACE_Double_Linked_List_Iterator_Base ( ACE_Double_Linked_List<T> & );
ACE_Double_Linked_List_Iterator_Base ( const ACE_Double_Linked_List_Iterator_Base<T> &iter );
int go_head (void);
int go_tail (void);
T *not_done (void) const;
T *do_advance (void);
T *do_retreat (void);
void dump_i (void) const;
T *current_;
ACE_Double_Linked_List<T> *dllist_;
};
int next (T *&) const;
entry
under the iterator. Returns 0 if the
iteration has completed, otherwise 1
T *next (void) const;
int done (void) const;
T & operator* (void) const;
void reset (ACE_Double_Linked_List<T> &);
ACE_ALLOC_HOOK_DECLARE;
ACE_Double_Linked_List_Iterator_Base (ACE_Double_Linked_List<T> &);
ACE_Double_Linked_List_Iterator_Base (
const ACE_Double_Linked_List_Iterator_Base<T> &iter
);