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)
상수.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
(C++23)
|
반복자 연산 수행
(함수) |