Spec-Zone.ru › C++

operator+(std::move_iterator)

Определён в заголовочном файле <iterator>
template< class Iter >
move_iterator<Iter> operator+
    ( typename move_iterator<Iter>::difference_type n,
      const move_iterator<Iter>& it );
(начиная с C++11)
(constexpr начиная с C++17)
(до C++20)
template< class Iter >
constexpr move_iterator<Iter> operator+
    ( std::iter_difference_t<Iter> n, const move_iterator<Iter>& it );
(начиная с C++20)

Возвращает итератор it, увеличенный на n.

Эта перегрузка участвует в разрешении перегрузки только в том случае, если it.base() + n является корректным выражением и имеет тип Iter.

(начиная с C++20)

Параметры

n - количество позиций, на которое нужно увеличить итератор
it - адаптер итератора, который нужно увеличить

Возвращаемое значение

it + n

Пример

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющих поведение, были применены задним числом к ранее опубликованным стандартам C++.

Отчёт об ошибке Применён к Опубликованное поведение Корректное поведение
LWG 3293 C++20 к нефункциональному operator+ предъявлялось ограничение
требовать, чтобы it + n было корректным выражением и имело тип Iter
изменено на
it.base() + n

См. также

operator++operator++(int)operator+=operator+operator--operator--(int)operator-=operator-
увеличивает или уменьшает move_iterator
(открытая функция-член)
operator-
(C++11)
вычисляет расстояние между двумя адаптерами итератора
(шаблон функции)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/iterator/move_iterator/operator%2B

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API