Namespaces
Variants

operator+,-(ranges::stride_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*/& x, const /*iterator*/& y )
        requires std::sized_sentinel_for<ranges::iterator_t<Base>,
                                         ranges::iterator_t<Base>>;
(4) (начиная с C++23)
friend constexpr difference_type
    operator-( std::default_sentinel_t, const /*iterator*/& x )
        requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
                                         ranges::iterator_t<Base>>;
(5) (начиная с C++23)
friend constexpr difference_type
    operator-( const /*iterator*/& x, std::default_sentinel_t s )
        requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
                                         ranges::iterator_t<Base>>;
(6) (начиная с C++23)

Увеличивает или уменьшает iterator.

Пусть current_, end_, stride_ и missing_ будут элементами данных iterator.

1,2) Эквивалентно auto r = i; r += n; return r;.
3) Эквивалентно auto r = i; r -= n; return r;.
4) Пусть N будет x.current_ - y.current_. Возвращает:
  • (N + x.missing_ - y.missing_) / x.stride_, если Base моделирует forward_range.
  • -/*div-ceil*/(-N, x.stride_), если N < 0.
  • /*div-ceil*/(N, x.stride_) в противном случае.
5) Эквивалентно return /*div-ceil*/(x.end_ - x.current_, x.stride_);.
6) Эквивалентно return -(s - x);.

Эти функции не видны при обычном неквалифицированном или квалифицированном поиске и могут быть найдены только поиском, зависящим от аргументов, когда stride_view::iterator<Const> является ассоциированным классом аргументов.

Параметры

x, y, i - итераторы
s - страж

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

1,2) Инкрементированный итератор
3) Декрементированный итератор
4) Расстояние между заданными итераторами
5,6) Расстояние между заданным итератором и сторожем

Пример

Смотрите также

перемещает или уменьшает базовый итератор
(public member function)