operator+,-(ranges::zip_view::iterator)
friend constexpr /*iterator*/ operator+( const /*iterator*/& i, difference_type n )
requires /*all-random-access*/<Const, Views...>;
| (1) | (начиная с C++23) |
friend constexpr /*iterator*/ operator+( difference_type n, const /*iterator*/& i )
requires /*all-random-access*/<Const, Views...>;
| (2) | (начиная с C++23) |
friend constexpr /*iterator*/ operator-( const /*iterator*/& i, difference_type n )
requires /*all-random-access*/<Const, Views...>;
| (3) | (начиная с C++23) |
friend constexpr difference_type operator-( const /*iterator*/& i,
const /*iterator*/& j )
requires (std::sized_sentinel_for<
ranges::iterator_t</*maybe-const*/<Const, Views>>,
ranges::iterator_t</*maybe-const*/<Const, Views>>>
and ...);
| (4) | (начиная с C++23) |
Пусть current_ обозначает базовый tuple-like-объект итераторов элементов адаптированных представлений.
1,2) Возвращает итератор
i, увеличенный на n. Эквивалентно: auto r = i; r += n; return r;.
3) Возвращает итератор
i, уменьшенный на n. Эквивалентно: auto r = i; r -= n; return r;.
4) Пусть
DIST(k) обозначает difference_type(std::get<k>(i.current_) - std::get<k>(j.current_)). Возвращает наименьшее абсолютное значение среди DIST(n) для всех целых чисел 0 <= n < sizeof...(Views).Эти функции не видны при обычном неквалифицированном поиске или квалифицированном поиске и могут быть найдены только с помощью аргументно-зависимого поиска, если zip_view::iterator<Const> является ассоциированным классом аргументов.
Параметры
| i, j | - | итераторы. |
| n | - | позиция относительно текущего положения. |
Возвращаемое значение
1,2) копия
i, сдвинутая на n
3) копия
i, сдвинутая на -n
4) расстояние между
i и j
Пример
См. также
| перемещает базовые итераторы вперёд или назад (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/zip_view/iterator/operator_arith2