Namespaces
Variants

std::ranges::cartesian_product_view<First, Vs...>::iterator<Const>::operator++,--,+=,-=

cppreference.net에서
 
 
범위 라이브러리
범위 어댑터
 
 
constexpr /*iterator*/& operator++();
(1) (since C++23)
constexpr void operator++( int );
(2) (since C++23)
constexpr /*iterator*/ operator++( int )
    requires ranges::forward_range</*maybe-const*/<Const, First>>;
(3) (since C++23)
constexpr /*iterator*/& operator--()
    requires /*cartesian-product-is-bidirectional*/<Const, First, Vs...>;
(4) (since C++23)
constexpr /*iterator*/ operator--( int )
    requires /*cartesian-product-is-bidirectional*/<Const, First, Vs...>;
(5) (since C++23)
constexpr /*iterator*/& operator+=( difference_type n )
    requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
(6) (since C++23)
constexpr /*iterator*/& operator-=( difference_type n )
    requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
(7) (since C++23)

반복자를 증가시키거나 감소시킵니다 iterator.

current_가 기본 반복자 튜플을 나타내고, parent_가 cartesian_product_view에 대한 기본 포인터를 나타낸다고 하자.

1)와 동일next(); return *this;
2)와 동일++*this;
3)와 동일auto tmp = *this; ++*this; return tmp;
4)와 동일prev(); return *this;
5)와 동일auto tmp = *this; --*this; return tmp;
6)의 값을 *this로 설정하며, 여기서 ret는 ret:
  • 만약 n > 0이면, *this는 next가 호출된 n번인 경우 제공됩니다. 그렇지 않으면,
  • 만약 n < 0이면, *this는 prev가 호출된 -n번인 경우 제공됩니다. 그렇지 않으면,
  • *this호출 전의 값입니다.
동작이 정의되지 않습니다. 만약 n이(가) 범위 [ranges::distance(*this, ranges::begin(*parent_)), ranges::distance(*this, ranges::end(*parent_)))에 없으면.
7)와 동일*this += -n; return *this;.

매개변수

n - 현재 위치 기준 상대 위치

반환값

1,4,6,7) * this
2) (없음)
3,5) 변경 전에 생성된 * this 의 복사본.

복잡도

6) 상수.

예제

참고 항목

반복자 연산 수행
(함수)