.TH "std::reverse_iterator< _Iterator >" 3cxx "Sun Feb 7 2021" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME std::reverse_iterator< _Iterator > .SH SYNOPSIS .br .PP .PP Inherits \fBstd::iterator< iterator_traits< _Iterator >::iterator_category, iterator_traits< _Iterator >::value_type, iterator_traits< _Iterator >::difference_type, iterator_traits< _Iterator >::pointer, iterator_traits< _Iterator >::reference >\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "typedef __traits_type::difference_type \fBdifference_type\fP" .br .ti -1c .RI "typedef iterator_traits< _Iterator >::\fBiterator_category\fP \fBiterator_category\fP" .br .RI "One of the \fBtag types\fP\&. " .ti -1c .RI "typedef _Iterator \fBiterator_type\fP" .br .ti -1c .RI "typedef __traits_type::pointer \fBpointer\fP" .br .ti -1c .RI "typedef __traits_type::reference \fBreference\fP" .br .ti -1c .RI "typedef iterator_traits< _Iterator >::\fBvalue_type\fP \fBvalue_type\fP" .br .RI "The type 'pointed to' by the iterator\&. " .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP ()" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP (const \fBreverse_iterator\fP &__x)" .br .ti -1c .RI "template _GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP (const \fBreverse_iterator\fP< _Iter > &__x)" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP (iterator_type __x)" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR iterator_type \fBbase\fP () const" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR reference \fBoperator*\fP () const" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP \fBoperator+\fP (difference_type __n) const" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP & \fBoperator++\fP ()" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP \fBoperator++\fP (int)" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP & \fBoperator+=\fP (difference_type __n)" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP \fBoperator\-\fP (difference_type __n) const" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP & \fBoperator\-\-\fP ()" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP \fBoperator\-\-\fP (int)" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR \fBreverse_iterator\fP & \fBoperator\-=\fP (difference_type __n)" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR pointer \fBoperator\->\fP () const" .br .ti -1c .RI "\fBreverse_iterator\fP & \fBoperator=\fP (const \fBreverse_iterator\fP &)=default" .br .ti -1c .RI "_GLIBCXX17_CONSTEXPR reference \fBoperator[]\fP (difference_type __n) const" .br .in -1c .SS "Protected Types" .in +1c .ti -1c .RI "typedef iterator_traits< _Iterator > \fB__traits_type\fP" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "_Iterator \fBcurrent\fP" .br .in -1c .SH "Detailed Description" .PP .SS "template .br class std::reverse_iterator< _Iterator >" Bidirectional and random access iterators have corresponding reverse iterator adaptors that iterate through the data structure in the opposite direction\&. They have the same signatures as the corresponding iterators\&. The fundamental relation between a reverse iterator and its corresponding iterator \fCi\fP is established by the identity: .PP .nf &*(reverse_iterator(i)) == &*(i - 1) .fi .PP .PP \fIThis 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\&.\fP [24\&.4\&.1]/1,2 .PP 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\&. .PP Definition at line 105 of file bits/stl_iterator\&.h\&. .SH "Member Typedef Documentation" .PP .SS "typedef iterator_traits< _Iterator >::\fBiterator_category\fP \fBstd::iterator\fP< iterator_traits< _Iterator >::\fBiterator_category\fP , iterator_traits< _Iterator >::\fBvalue_type\fP , iterator_traits< _Iterator >::difference_type , iterator_traits< _Iterator >::pointer , iterator_traits< _Iterator >::reference >::\fBiterator_category\fP\fC [inherited]\fP" .PP One of the \fBtag types\fP\&. .PP Definition at line 121 of file stl_iterator_base_types\&.h\&. .SS "typedef iterator_traits< _Iterator >::\fBvalue_type\fP \fBstd::iterator\fP< iterator_traits< _Iterator >::\fBiterator_category\fP , iterator_traits< _Iterator >::\fBvalue_type\fP , iterator_traits< _Iterator >::difference_type , iterator_traits< _Iterator >::pointer , iterator_traits< _Iterator >::reference >::\fBvalue_type\fP\fC [inherited]\fP" .PP The type 'pointed to' by the iterator\&. .PP Definition at line 123 of file stl_iterator_base_types\&.h\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.