std::ranges::join_with_view<V,Pattern>:: iterator <Const>:: operator++,--
|
constexpr
/*iterator*/
&
operator
++
(
)
;
|
(1) | (C++23以降) |
|
constexpr
void
operator
++
(
int
)
;
|
(2) | (C++23以降) |
|
constexpr
/*iterator*/
operator
++
(
int
)
requires
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(3) | (C++23以降) |
|
constexpr
/*iterator*/
&
operator
--
(
)
requires
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(4) | (C++23以降) |
|
constexpr
/*iterator*/
operator
--
(
int
)
requires
std::
is_reference_v
<
/*InnerBase*/
>
&&
|
(5) | (C++23以降) |
イテレータをインクリメントまたはデクリメントします。
- 内部イテレータをインクリメントした結果がパターン範囲の終端イテレータの場合、次の内部範囲の先頭を指すイテレータに設定されます。
- 内部イテレータをインクリメントした結果が内部範囲の終端イテレータの場合、外部イテレータをインクリメントします。その後:
-
- インクリメント後の外部イテレータが外部範囲の終端イテレータでない場合、内部イテレータをパターン範囲の先頭を指すイテレータに設定します。
-
そうでなく、
std::
is_reference_v
<
InnerBase > が true の場合、内部イテレータを 無効値 を保持するパターンイテレータに設定します。
- 内部イテレータが終端イテレータでなくなるか、外部イテレータが終端イテレータになるまで、上記の操作を繰り返します。
++* this ;
return tmp ; .
- 内部イテレータが内部範囲の先頭を指している場合、パターン範囲の終端イテレータに設定されます。
- 内部イテレータがパターン範囲の先頭を指している場合、外部イテレータをデクリメントし、内部イテレータを前の内部範囲の終端イテレータに設定します。
- 上記の操作を、内部イテレータがいずれの範囲の先頭も指さなくなるまで繰り返します。
inner_it_
)
;
。
--* this ;
return tmp ; 。