operator+,-(ranges::enumerate_view::iterator)
С ru.cppreference.net
friend constexpr /* iterator */
operator+( const /* iterator */& i, difference_type n )
requires ranges::random_access_range</* Base */>;
|
(1) | (начиная с C++23) |
friend constexpr /* iterator */
operator+( difference_type n, const /* iterator */& i )
requires ranges::random_access_range</* Base */>;
|
(2) | (начиная с C++23) |
friend constexpr /* iterator */
operator-( const /* iterator */& i, difference_type n )
requires ranges::random_access_range</* Base */>;
|
(3) | (начиная с C++23) |
friend constexpr difference_type
operator-( const /* iterator */& i, const /* iterator */& j ) noexcept;
|
(4) | (начиная с C++23) |
Выполняет арифметику iterator или вычисляет расстояние.
pos_ - это базовый индекс, а Base - это (возможно, квалифицированный const) тип базового представления.
Эквивалентно:
1)
auto temp = i; temp += n; return temp;2)
return i + n;3)
auto temp = i; temp -= n; return temp;4)
return i.pos_ - j.pos_;Эти функции не видны при обычном unqualified или qualified lookup, и могут быть найдены только при argument-dependent lookup, когда enumerate_view::iterator<Const> является связанным классом аргументов.
Параметры
| i, j | - | итераторы |
| n | - | позиция относительно текущего местоположения |
Возвращаемое значение
1,2)
Инкрементированный итератор.
3)
Декрементированный итератор.
4)
Расстояние между заданными итераторами.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 3912 | C++23 | перегрузка (4) не была noexcept | она является noexcept |
Смотрите также
|
перемещает вперед или назад базовый итератор
(public member function) |