Spec-Zone.ru › C++

std::ranges::concat_view<Views...>::iterator<Const>::operator++,--,+=,-=

constexpr /*iterator*/& operator++();
(1) (начиная с C++26)
constexpr void operator++( int );
(2) (начиная с C++26)
constexpr /*iterator*/ operator++( int )
    requires /*all-forward*/<Const, Views...>;
(3) (начиная с C++26)
constexpr /*iterator*/& operator--()
    requires /*concat-is-bidirectional*/<Const, Views...>;
(4) (начиная с C++26)
constexpr /*iterator*/ operator--( int )
    requires /*concat-is-bidirectional*/<Const, Views...>;
(5) (начиная с C++26)
constexpr /*iterator*/& operator+=( difference_type n )
    requires /*concat-is-random-access*/<Const, Views...>;
(6) (начиная с C++26)
constexpr /*iterator*/& operator-=( difference_type n )
    requires /*concat-is-random-access*/<Const, Views...>;
(7) (начиная с C++26)

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

Перегрузка Эквивалентно
(пусть I будет it_ .index())
(1) ++get-iter <I>(); satisfy <I>();return*this;
(2) ++*this;
(3) auto tmp = *this; ++*this; return tmp;
(4) prev <I>();return*this;
(5) auto tmp = *this; --*this; return tmp;
(6)

autooffset= get-iter <I>()- get-begin <I>();
if(n>0)
    advance-fwd <I>(offset,n);
elseif(n<0)
    advance-bwd <I>(offset,-n);
return*this;

(7) *this += -n; return *this;

Если it_ .valueless_by_exception() является true, поведение не определено.

Параметры

n - позиция относительно текущего положения

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

Как описано выше.

Пример

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/concat_view/iterator/operator_arith

Spec-Zone.ru

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