#include <ace/RB_Tree.h>
template<class EXT_ID, class INT_ID, class COMPARE_KEYS, class ACE_LOCK> class ACE_RB_Tree_Reverse_Iterator : public ACE_RB_Tree_Iterator_Base<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> {
public:
ACE_RB_Tree_Reverse_Iterator ( const ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &tree, int set_last = 1 );
~ACE_RB_Tree_Reverse_Iterator (void);
int advance (void);
void dump (void) const;
ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> & operator++ ( void );
ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> operator++ ( int );
ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> & operator-- ( void );
ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> operator-- ( int );
ACE_ALLOC_HOOK_DECLARE;
int next (ACE_RB_Tree_Node<EXT_ID, INT_ID> *&next_entry) const;
};
ACE_RB_Tree_Reverse_Iterator (
const ACE_RB_Tree<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> &tree,
int set_last = 1
);
~ACE_RB_Tree_Reverse_Iterator (void);
int advance (void);
void dump (void) const;
ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> & operator++ (
void
);
ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> operator++ (
int
);
ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> & operator-- (
void
);
ACE_RB_Tree_Reverse_Iterator<EXT_ID, INT_ID, COMPARE_KEYS, ACE_LOCK> operator-- (
int
);
ACE_ALLOC_HOOK_DECLARE;
int next (ACE_RB_Tree_Node<EXT_ID, INT_ID> *&next_entry) const;
entry
under the iterator. Returns 0 if
the iteration has completed, otherwise 1. This method must
be declared and defined in both the derived forward and
reverse iterator classes rather than in the base iterator
class because of a method signature resolution problem
caused by the existence of the deprecated next (void)
method in the derived forward iterator class. When that
deprecated method is removed, this method should be removed
from the derived classes and placed in the base class.