Standard C++ Library Class Reference
 Reference operator* ();
 self& operator++ ();
 self operator++ (int);
 self& operator-- ();
 self operator-- (int);
 };
// Non-member Operator
 template <class BidirectionalIterator,
 class T,
 class Reference,
 class Pointer
 class Distance>
 bool operator== (
 const reverse_bidirectional_iterator
 <BidirectionalIterator,
 T,
 Reference,
 Pointer
 Distance>&,
 const reverse_bidirectional_iterator
 <BidirectionalIterator,
 T,
 Reference,
 Pointer,
 Distance>&);
template <class RandomAccessIterator,
 class T,
 class Reference = T&,
 class Pointer = T*,
 class Distance = ptrdiff_t>
class reverse_iterator
 : public random_access_iterator<T, Distance> {
 typedef reverse_iterator<RandomAccessIterator, T, Reference, 
 Pointer, Distance> self;
 friend bool operator== (const self&, const self&);
 friend bool operator< (const self&, const self&);
 friend Distance operator- (const self&, const self&);
 friend self operator+ (Distance, const self&);
public:
 reverse_iterator ();
 explicit reverse_iterator (RandomAccessIterator);
 RandomAccessIterator base ();
 Reference operator* ();
 self& operator++ ();
 self operator++ (int);
 self& operator-- ();
 self operator-- (int);
 self operator+ (Distance) const;
 self& operator+= (Distance);
 self operator- (Distance) const;
 self& operator-= (Distance);
 Reference operator[] (Distance);
};
// Non-member Operators
 template <class RandomAccessIterator, class T,










