[reverse.iter.nav] # 24 Iterators library [[iterators]](./#iterators) ## 24.5 Iterator adaptors [[predef.iterators]](predef.iterators#reverse.iter.nav) ### 24.5.1 Reverse iterators [[reverse.iterators]](reverse.iterators#reverse.iter.nav) #### 24.5.1.7 Navigation [reverse.iter.nav] [🔗](#lib:operator+,reverse_iterator) `constexpr reverse_iterator operator+(difference_type n) const; ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3436) *Returns*: reverse_iterator(current - n)[.](#1.sentence-1) [🔗](#lib:operator-,reverse_iterator) `constexpr reverse_iterator operator-(difference_type n) const; ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3447) *Returns*: reverse_iterator(current + n)[.](#2.sentence-1) [🔗](#lib:operator++,reverse_iterator) `constexpr reverse_iterator& operator++(); ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3458) *Effects*: As if by: --current; [4](#4) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3462) *Returns*: *this[.](#4.sentence-1) [🔗](#lib:operator++,reverse_iterator_) `constexpr reverse_iterator operator++(int); ` [5](#5) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3473) *Effects*: As if by:reverse_iterator tmp = *this;--current;return tmp; [🔗](#lib:operator--,reverse_iterator) `constexpr reverse_iterator& operator--(); ` [6](#6) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3489) *Effects*: As if by ++current[.](#6.sentence-1) [7](#7) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3493) *Returns*: *this[.](#7.sentence-1) [🔗](#lib:operator--,reverse_iterator_) `constexpr reverse_iterator operator--(int); ` [8](#8) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3504) *Effects*: As if by:reverse_iterator tmp = *this;++current;return tmp; [🔗](#lib:operator+=,reverse_iterator) `constexpr reverse_iterator& operator+=(difference_type n); ` [9](#9) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3520) *Effects*: As if by: current -= n; [10](#10) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3524) *Returns*: *this[.](#10.sentence-1) [🔗](#lib:operator-=,reverse_iterator) `constexpr reverse_iterator& operator-=(difference_type n); ` [11](#11) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3535) *Effects*: As if by: current += n; [12](#12) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iterators.tex#L3539) *Returns*: *this[.](#12.sentence-1)