std::ranges::cartesian_product_view<First, Vs...>:: iterator <Const>:: operator++,--,+=,-=
From cppreference.net
<
cpp
|
ranges
|
cartesian product view
|
iterator
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (C++23부터) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (C++23부터) |
|
constexpr
/*iterator*/
operator
++
(
int
)
requires ranges:: forward_range < /*maybe-const*/ < Const, First >> ; |
(3) | (C++23부터) |
|
constexpr
/*iterator*/
&
operator
--
(
)
requires /*cartesian-product-is-bidirectional*/ < Const, First, Vs... > ; |
(4) | (C++23부터) |
|
constexpr
/*iterator*/
operator
--
(
int
)
requires /*cartesian-product-is-bidirectional*/ < Const, First, Vs... > ; |
(5) | (C++23부터) |
|
constexpr
/*iterator*/
&
operator
+
=
(
difference_type n
)
requires /*cartesian-product-is-random-access*/ < Const, First, Vs... > ; |
(6) | (C++23부터) |
|
constexpr
/*iterator*/
&
operator
-
=
(
difference_type n
)
requires /*cartesian-product-is-random-access*/ < Const, First, Vs... > ; |
(7) | (C++23부터) |
반복자 를 증가시키거나 감소시킵니다.
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
인 경우,
next가 n 번 호출된 후의 * this 값입니다. 그렇지 않고, -
만약
n
<
0
인 경우,
prev가 - n 번 호출된 후의 * this 값입니다. 그렇지 않으면, - 호출 전의 * this 값입니다.
[
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)
|
반복자 연산 수행
(함수) |