std::reverse_iterator(3)

NAME
std::reverse_iterator -

SYNOPSIS

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

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 92 of file stl_iterator.h.

  Public Types
typedef iterator_traits< _Iterator >::difference_type difference_type
typedef _Category iterator_category
typedef _Iterator iterator_type
typedef iterator_traits< _Iterator >::pointer pointer
typedef iterator_traits< _Iterator >::reference reference
typedef _Tp value_type

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

  Protected Attributes
_Iterator current

Member Typedef Documentation

  typedef iterator_traits<_Iterator>::difference_type difference_type

Distance between iterators is represented as this type.

Reimplemented from iterator.

Definition at line 105 of file stl_iterator.h.

  typedef _Category iterator_category [inherited]

One of the tag types.

Definition at line 109 of file stl_iterator_base_types.h.

  typedef iterator_traits<_Iterator>::pointer pointer

This type represents a pointer-to-value_type.

Reimplemented from iterator.

Definition at line 107 of file stl_iterator.h.

  typedef iterator_traits<_Iterator>::reference reference

This type represents a reference-to-value_type.

Reimplemented from iterator.

Definition at line 106 of file stl_iterator.h.

  typedef _Tp value_type [inherited]

The type 'pointed to' by the iterator.

Reimplemented in sequence_buffer.

Definition at line 111 of file stl_iterator_base_types.h.

Constructor & Destructor Documentation

  reverse_iterator () [inline]

The default constructor default-initializes member current. If it is a pointer, that means it is zero-initialized.

Definition at line 116 of file stl_iterator.h.

Referenced by reverse_iterator::operator+(), and reverse_iterator::operator-().

  reverse_iterator (iterator_type __x) [inline, explicit]

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

Definition at line 122 of file stl_iterator.h.

  reverse_iterator (const reverse_iterator< _Iterator > & __x) [inline]

The copy constructor is normal.

Definition at line 127 of file stl_iterator.h.

  reverse_iterator (const reverse_iterator< _Iter > & __x) [inline]

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

Definition at line 135 of file stl_iterator.h.

Member Function Documentation

  iterator_type base () const [inline]

Returns:
    current, the iterator used for underlying work.

Definition at line 142 of file stl_iterator.h.

References reverse_iterator::current.

Referenced by std::operator+(), std::operator-(), and std::operator==().

  reference 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 151 of file stl_iterator.h.

References reverse_iterator::current.

Referenced by reverse_iterator::operator->().

  reverse_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 222 of file stl_iterator.h.

References reverse_iterator::current, and reverse_iterator::reverse_iterator().

  reverse_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 184 of file stl_iterator.h.

References reverse_iterator::current.

  reverse_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 172 of file stl_iterator.h.

References reverse_iterator::current.

  reverse_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 231 of file stl_iterator.h.

References reverse_iterator::current.

  reverse_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 243 of file stl_iterator.h.

References reverse_iterator::current, and reverse_iterator::reverse_iterator().

  reverse_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 209 of file stl_iterator.h.

References reverse_iterator::current.

  reverse_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 197 of file stl_iterator.h.

References reverse_iterator::current.

  reverse_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 252 of file stl_iterator.h.

References reverse_iterator::current.

  pointer 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 163 of file stl_iterator.h.

References reverse_iterator::operator *().

  reference 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 264 of file stl_iterator.h.

Author

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