cpp / latest / iterator / move_iterator / operator_arith.html /

std::move_iterator<Iter>::operator++,+,+=,--,-,-=

(1)
move_iterator& operator++();
(until C++17)
constexpr move_iterator& operator++();
(since C++17)
(2)
move_iterator& operator--();
(until C++17)
constexpr move_iterator& operator--();
(since C++17)
(3)
move_iterator operator++( int );
(until C++17)
constexpr move_iterator operator++( int );
(since C++17)
(until C++20)
constexpr auto operator++( int );
(since C++20)
(4)
move_iterator operator--( int );
(until C++17)
constexpr move_iterator operator--( int );
(since C++17)
(5)
move_iterator operator+( difference_type n ) const;
(until C++17)
constexpr move_iterator operator+( difference_type n ) const;
(since C++17)
(6)
move_iterator operator-( difference_type n ) const;
(until C++17)
constexpr move_iterator operator-( difference_type n ) const;
(since C++17)
(7)
move_iterator& operator+=( difference_type n );
(until C++17)
constexpr move_iterator& operator+=( difference_type n );
(since C++17)
(8)
move_iterator& operator-=( difference_type n );
(until C++17)
constexpr move_iterator& operator-=( difference_type n );
(since C++17)

Increments or decrements the iterator.

1-2) Pre-increments or pre-decrements by one respectively.
3-4) Post-increments or post-decrements by one respectively.
5-6) Returns an iterator which is advanced by n or -n positions respectively.
7-8) Advances the iterator by n or -n positions respectively.

Parameters

n - position relative to current location.

Return value

1-2) *this.
3-4) a copy of *this that was made before the change , however, if Iter does not model forward_iterator, the post-increment operator does not return such copy and the return type is void (since C++20).
5-6) move_iterator(base()+n) or move_iterator(base()-n) respectively.
7-8) *this.

Example

See also

(C++11)
advances the iterator
(function template)
(C++11)
computes the distance between two iterator adaptors
(function template)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/iterator/move_iterator/operator_arith