const_reverse_iterator Class
class const_reverse_iterator
The const_reverse_iterator templated class is an STL-like iterator that can be instantiated and attached to any collection that implements the IConstTraversableT templated interface. Unlike STL's iterators, const_reverse_iterator is polymorphic, meaning it can traverse a collection without explicit knowledge of the collection's type. const_reverse_iterator is a bidirectional type iterator that is interface compatible with its STL counterpart. Therefore, it can be used with any STL algorithm which takes a bidirectional iterator. Note, const_reverse_iterator does not support random iteration.Defined in: PolyIter.h
Class Template Arguments
_Ty
The type of element in the collection the iterator is traversing.
Member functions include: const_reverse_iteratorbeginendat_beginat_endoperator*operator-> operator++ operator++operator--operator--operator==operator!=operator=
Class Members
const_reverse_iterator(typename qualified_traversable_type* pct)
Constructs a const_reverse_iterator and attaches it to the specified traversable
const_reverse_iterator( typename const const_reverse_iterator<_Ty>& iter )
Copy constructor for const_iterator
void prev()
Move the iterator to the previous element in the collection
void next()
Move the iterator to the next element in the collection
typename const_reference getref() const
Return a const reference to the element at the iterator's current position
typename const_pointer getptr() const
Return a const pointer to the element at the iterator's current position
void begin()
Positions the iterator at the start of the collection, which for a reverse is actually at the physical last element.
void end()
Positions the iterator at the end of the collection. Note, the end is one passed the last element.
bool at_begin() const
Returns true if currently positioned at start of the collection
bool at_end() const
Returns true if currently positioned at end of collection
const_reference operator*() const
Returns a constant reference to the element at the current iterator position
typename const_pointer operator->() const
Returns a constant pointer to the element at the current iterator position
typename const_reverse_iterator& operator++()
The preincrement operator advances the iterator by one position and returns *this
typename const_reverse_iterator operator++(int)
The postincrement operator advances the iterator by one position and returns an unmoved *this
typename const_reverse_iterator& operator--()
The predecrement operator retreats the iterator by one position and returns *this
typename const_reverse_iterator operator--(int)
The predecrement operator retreats the iterator by one position and returns an unmoved *this
bool operator==(typename const const_reverse_iterator& _X) const
Returns true if the given iterator is equal to this one
bool operator!=(typename const const_reverse_iterator& _X) const
Returns true if the given iterator is not equal to this one
const_attach(iter.m_pct)
This iterator is set equal to the given one