std::ranges::cartesian_product_view<先頭、Vs...>::iterator<Const>::operator++,--,+=,-=
ja.cppreference.net より
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; と等価。
auto tmp = *this; ++*this; return tmp;3)
prev(); return *this; と等価。
4)
auto tmp = *this; --*this; return tmp; と等価。
*this5)ret ret の値を - に設定します。ここで
n > 0は次の通りです:*thisnextの場合、n回呼び出された - の値。ただし、
n < 0を満たす場合に限る。そうでなければ、*thisprevの場合、-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)
|
イテレータ演算を実行する
(関数) |