#include <stl_iterator.h>
Inheritance diagram for std::reverse_iterator< Iterator >:
i
is established by the identity: &*(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 stl_iterator.h.
typedef iterator_traits<Iterator>::difference_type std::reverse_iterator< Iterator >::difference_type |
Distance between iterators is represented as this type.
Reimplemented from std::iterator< Category, Type, Distance, Pointer, Reference >.
Definition at line 103 of file stl_iterator.h.
typedef Category std::iterator< Category, Type, Distance, Pointer, Reference >::iterator_category [inherited] |
typedef iterator_traits<Iterator>::pointer std::reverse_iterator< Iterator >::pointer |
This type represents a pointer-to-value_type.
Reimplemented from std::iterator< Category, Type, Distance, Pointer, Reference >.
Definition at line 105 of file stl_iterator.h.
typedef iterator_traits<Iterator>::reference std::reverse_iterator< Iterator >::reference |
This type represents a reference-to-value_type.
Reimplemented from std::iterator< Category, Type, Distance, Pointer, Reference >.
Definition at line 104 of file stl_iterator.h.
typedef Type std::iterator< Category, Type, Distance, Pointer, Reference >::value_type [inherited] |
The type "pointed to" by the iterator.
Reimplemented in __gnu_cxx::sequence_buffer< Sequence, Buf_sz >.
Definition at line 111 of file stl_iterator_base_types.h.
std::reverse_iterator< Iterator >::reverse_iterator | ( | ) | [inline] |
The default constructor default-initializes member current
. If it is a pointer, that means it is zero-initialized.
Definition at line 114 of file stl_iterator.h.
Referenced by std::reverse_iterator< Iterator >::operator+(), and std::reverse_iterator< Iterator >::operator-().
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 120 of file stl_iterator.h.
std::reverse_iterator< Iterator >::reverse_iterator | ( | const reverse_iterator< Iterator > & | x | ) | [inline] |
The copy constructor is normal.
Definition at line 125 of file stl_iterator.h.
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 133 of file stl_iterator.h.
iterator_type std::reverse_iterator< Iterator >::base | ( | ) | const [inline] |
current
, the iterator used for underlying work. Definition at line 140 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current.
Referenced by std::operator+(), std::operator-(), and std::operator==().
reference std::reverse_iterator< Iterator >::operator * | ( | ) | const [inline] |
Definition at line 149 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current.
Referenced by std::reverse_iterator< Iterator >::operator->().
reverse_iterator std::reverse_iterator< Iterator >::operator+ | ( | difference_type | n | ) | const [inline] |
Definition at line 219 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current, and std::reverse_iterator< Iterator >::reverse_iterator().
reverse_iterator std::reverse_iterator< Iterator >::operator++ | ( | int | ) | [inline] |
Definition at line 182 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current.
reverse_iterator& std::reverse_iterator< Iterator >::operator++ | ( | ) | [inline] |
Definition at line 170 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current.
reverse_iterator& std::reverse_iterator< Iterator >::operator+= | ( | difference_type | n | ) | [inline] |
Definition at line 228 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current.
reverse_iterator std::reverse_iterator< Iterator >::operator- | ( | difference_type | n | ) | const [inline] |
Definition at line 240 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current, and std::reverse_iterator< Iterator >::reverse_iterator().
reverse_iterator std::reverse_iterator< Iterator >::operator-- | ( | int | ) | [inline] |
Definition at line 206 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current.
reverse_iterator& std::reverse_iterator< Iterator >::operator-- | ( | ) | [inline] |
Definition at line 195 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current.
reverse_iterator& std::reverse_iterator< Iterator >::operator-= | ( | difference_type | n | ) | [inline] |
Definition at line 249 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::current.
pointer std::reverse_iterator< Iterator >::operator-> | ( | ) | const [inline] |
Definition at line 161 of file stl_iterator.h.
References std::reverse_iterator< Iterator >::operator *().
reference std::reverse_iterator< Iterator >::operator[] | ( | difference_type | n | ) | const [inline] |
Definition at line 261 of file stl_iterator.h.