std::move_iterator<Iter>::operator++,+,+=,--,-,-=
move_iterator& operator++(); | (1) | (constexpr с C++17) |
move_iterator& operator--(); | (2) | (constexpr с C++17) |
move_iterator operator++( int ); | (3) |
(constexpr с C++17) (до C++20) |
constexpr auto operator++( int ); | (с C++20) | |
move_iterator operator--( int ); | (4) | (constexpr с C++17) |
move_iterator operator+( difference_type n ) const; | (5) | (constexpr с C++17) |
move_iterator operator-( difference_type n ) const; | (6) | (constexpr с C++17) |
move_iterator& operator+=( difference_type n ); | (7) | (constexpr с C++17) |
move_iterator& operator-=( difference_type n ); | (8) | (constexpr с C++17) |
Увеличивает или уменьшает базовый итератор.
1,3) Увеличивает базовый итератор.
2,4) Уменьшает базовый итератор.
5) Возвращает итератор, перемещённый на
n позиций.
6) Возвращает итератор, перемещённый на
-n позиций.
7) Перемещает итератор на
n позиций.
8) Перемещает итератор на
-n позиций.Параметры
| n | - | позиция относительно текущего положения |
Возвращаемое значение
1,2)
*this
3) Копия
*this, созданная до изменения. Если Iter не соответствует концепции forward_iterator, ничего не возвращает(с C++20)
4) Копия
*this, созданная до изменения
5)
move_iterator(base() + n);
6)
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/cpp/iterator/move_iterator/operator_arith