std::reverse_iterator(3)

NAME
std::reverse_iterator -

SYNOPSIS

#include <iterator>

Inherits std::iterator< iterator_traits< _Iterator >::iterator_category, iterator_traits< _Iterator >::value_type, iterator_traits< _Iterator >::difference_type, iterator_traits< _Iterator >::pointer, iterator_traits< _Iterator >::reference >.

  Public Types
typedef iterator_traits< _Iterator >::difference_type difference_type
Distance between iterators is represented as this type.
typedef iterator_traits< _Iterator >::reference reference
This type represents a reference-to-value_type.
typedef iterator_traits< _Iterator >::pointer pointer
This type represents a pointer-to-value_type.
typedef iterator_traits< _Iterator >::iterator_category iterator_category
One of the tag types.
typedef iterator_traits< _Iterator >::value_type value_type
The type 'pointed to' by the iterator.

  Public Member Functions
reverse_iterator ()
reverse_iterator (iterator_type __x)
reverse_iterator (const reverse_iterator &__x)
template<typename _Iter> reverse_iterator (const reverse_iterator< _Iter > &__x)
iterator_type base () const
reference operator * () const
pointer operator-> () const
reverse_iterator & operator++ ()
reverse_iterator operator++ (int)
reverse_iterator & operator-- ()
reverse_iterator operator-- (int)
reverse_iterator operator+ (difference_type __n) const
reverse_iterator & operator+= (difference_type __n)
reverse_iterator operator- (difference_type __n) const
reverse_iterator & operator-= (difference_type __n)
reference operator[] (difference_type __n) const

Detailed Description

  template<typename _Iterator> class std::reverse_iterator< _Iterator >

      &*(reverse_iterator(i)) == &*(i - 1)

This mapping is dictated by the fact that while there is always a pointer past the end of an array, there might not be a valid pointer before the beginning of an array.' [24.4.1]/1,2

Reverse iterators can be tricky and surprising at first. Their semantics make sense, however, and the trickiness is a side effect of the requirement that the iterators must be safe.

Definition at line 90 of file iterator.

Member Typedef Documentation

  template<typename _Iterator> typedef iterator_traits<_Iterator>::difference_type std::reverse_iterator< _Iterator >::difference_type

Distance between iterators is represented as this type.Reimplemented from std::iterator< iterator_traits< _Iterator >::iterator_category, iterator_traits< _Iterator >::value_type, iterator_traits< _Iterator >::difference_type, iterator_traits< _Iterator >::pointer, iterator_traits< _Iterator >::reference >.

Definition at line 103 of file iterator.

  typedef iterator_traits< _Iterator >::iterator_category std::iterator< iterator_traits< _Iterator >::iterator_category, iterator_traits< _Iterator >::value_type, iterator_traits< _Iterator >::difference_type, iterator_traits< _Iterator >::pointer, iterator_traits< _Iterator >::reference >::iterator_category [inherited]

One of the tag types.

Definition at line 107 of file stl_iterator_base_types.h.

  template<typename _Iterator> typedef iterator_traits<_Iterator>::pointer std::reverse_iterator< _Iterator >::pointer

This type represents a pointer-to-value_type.Reimplemented from std::iterator< iterator_traits< _Iterator >::iterator_category, iterator_traits< _Iterator >::value_type, iterator_traits< _Iterator >::difference_type, iterator_traits< _Iterator >::pointer, iterator_traits< _Iterator >::reference >.

Definition at line 105 of file iterator.

  template<typename _Iterator> typedef iterator_traits<_Iterator>::reference std::reverse_iterator< _Iterator >::reference

This type represents a reference-to-value_type.Reimplemented from std::iterator< iterator_traits< _Iterator >::iterator_category, iterator_traits< _Iterator >::value_type, iterator_traits< _Iterator >::difference_type, iterator_traits< _Iterator >::pointer, iterator_traits< _Iterator >::reference >.

Definition at line 104 of file iterator.

  typedef iterator_traits< _Iterator >::value_type std::iterator< iterator_traits< _Iterator >::iterator_category, iterator_traits< _Iterator >::value_type, iterator_traits< _Iterator >::difference_type, iterator_traits< _Iterator >::pointer, iterator_traits< _Iterator >::reference >::value_type [inherited]

The type 'pointed to' by the iterator.

Definition at line 109 of file stl_iterator_base_types.h.

Constructor & Destructor Documentation

  template<typename _Iterator> std::reverse_iterator< _Iterator >::reverse_iterator () [inline]

The default constructor gives an undefined state to this iterator.

Definition at line 111 of file iterator.

Referenced by std::reverse_iterator< _Iterator >::operator+(), and std::reverse_iterator< _Iterator >::operator-().

  template<typename _Iterator> std::reverse_iterator< _Iterator >::reverse_iterator (iterator_type __x) [inline, explicit]

This iterator will move in the opposite direction that x does.

Definition at line 117 of file iterator.

  template<typename _Iterator> std::reverse_iterator< _Iterator >::reverse_iterator (const reverse_iterator< _Iterator > & __x) [inline]

The copy constructor is normal.

Definition at line 122 of file iterator.

  template<typename _Iterator> template<typename _Iter> std::reverse_iterator< _Iterator >::reverse_iterator (const reverse_iterator< _Iter > & __x) [inline]

A reverse_iterator across other types can be copied in the normal fashion.

Definition at line 130 of file iterator.

References std::reverse_iterator< _Iterator >::base().

Member Function Documentation

  template<typename _Iterator> iterator_type std::reverse_iterator< _Iterator >::base () const [inline]

Returns:
    current, the iterator used for underlying work.

Definition at line 137 of file iterator.

Referenced by std::operator+(), std::operator-(), std::operator==(), and std::reverse_iterator< _Iterator >::reverse_iterator().

  template<typename _Iterator> reference std::reverse_iterator< _Iterator >::operator * () const [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 145 of file iterator.

Referenced by std::reverse_iterator< _Iterator >::operator->().

  template<typename _Iterator> reverse_iterator std::reverse_iterator< _Iterator >::operator+ (difference_type __n) const [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 214 of file iterator.

References std::reverse_iterator< _Iterator >::reverse_iterator().

  template<typename _Iterator> reverse_iterator std::reverse_iterator< _Iterator >::operator++ (int) [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 177 of file iterator.

  template<typename _Iterator> reverse_iterator& std::reverse_iterator< _Iterator >::operator++ () [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 165 of file iterator.

  template<typename _Iterator> reverse_iterator& std::reverse_iterator< _Iterator >::operator+= (difference_type __n) [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 223 of file iterator.

  template<typename _Iterator> reverse_iterator std::reverse_iterator< _Iterator >::operator- (difference_type __n) const [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 235 of file iterator.

References std::reverse_iterator< _Iterator >::reverse_iterator().

  template<typename _Iterator> reverse_iterator std::reverse_iterator< _Iterator >::operator-- (int) [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 201 of file iterator.

  template<typename _Iterator> reverse_iterator& std::reverse_iterator< _Iterator >::operator-- () [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 190 of file iterator.

  template<typename _Iterator> reverse_iterator& std::reverse_iterator< _Iterator >::operator-= (difference_type __n) [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 244 of file iterator.

  template<typename _Iterator> pointer std::reverse_iterator< _Iterator >::operator-> () const [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 157 of file iterator.

References std::reverse_iterator< _Iterator >::operator *().

  template<typename _Iterator> reference std::reverse_iterator< _Iterator >::operator[] (difference_type __n) const [inline]

Returns:
    TODO

Todo
    Doc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more.

Definition at line 256 of file iterator.

Author

Generated automatically by Doxygen for libstdc++-v3 Source from the source code.