std::move_iterator<Iter>::operator++,+,+=,--,-,-=
| (1) | ||
move_iterator& operator++(); |
(до C++17) | |
constexpr move_iterator& operator++(); |
(с C++17) | |
| (2) | ||
move_iterator& operator--(); |
(до C++17) | |
constexpr move_iterator& operator--(); |
(с C++17) | |
| (3) | ||
move_iterator operator++( int ); |
(до C++17) | |
constexpr move_iterator operator++( int ); |
(с C++17) (до C++20) |
|
constexpr auto operator++( int ); |
(с C++20) | |
| (4) | ||
move_iterator operator--( int ); |
(до C++17) | |
constexpr move_iterator operator--( int ); |
(с C++17) | |
| (5) | ||
move_iterator operator+( difference_type n ) const; |
(до C++17) | |
constexpr move_iterator operator+( difference_type n ) const; |
(с C++17) | |
| (6) | ||
move_iterator operator-( difference_type n ) const; |
(до C++17) | |
constexpr move_iterator operator-( difference_type n ) const; |
(с C++17) | |
| (7) | ||
move_iterator& operator+=( difference_type n ); |
(до C++17) | |
constexpr move_iterator& operator+=( difference_type n ); |
(с C++17) | |
| (8) | ||
move_iterator& operator-=( difference_type n ); |
(до C++17) | |
constexpr move_iterator& operator-=( difference_type n ); |
(с C++17) |
Инкрементирует или декрементирует итератор.
1,2) Префиксный инкремент или префиксный декремент соответственно.
3,4) Постфиксный инкремент или постфиксный декремент соответственно.
5,6) Возвращает итератор, смещенный на
n или -n позиций соответственно.
7,8) Смещает итератор на
n или -n позиций соответственно.Параметры
| n | - | смещение относительно текущей позиции |
Возвращаемое значение
1,2)
*this
3,4) Копия
*this, созданная до изменения. , однако, если Iter не является forward_iterator, оператор постфиксного инкремента не возвращает такую копию, и тип возвращаемого значения void(с C++20).
5,6)
move_iterator(base()+n) или move_iterator(base()-n) соответственно.
7,8)
*this
Пример
См. также
(C++11) |
смещает итератор (шаблон функции) |
(C++11) |
вычисляет расстояние между двумя итераторами-адаптерами (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/iterator/move_iterator/operator_arith