[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)
