名前空間
変種
操作

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

From cppreference.com
 
 
Rangesライブラリ
Rangeアダプタ
 
 
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) `ret` の値を `*this` に設定します。`ret` とは、
  • n > 0 の場合、nextn 回呼び出された場合の `*this` の値です。それ以外の場合は、
  • n < 0 の場合、prev-n 回呼び出された場合の `*this` の値です。それ以外の場合は、
  • 呼び出し前の `*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) 定数。

[編集]

[編集] 関連項目

イテレータの算術演算を実行します。
(関数)
English 日本語 中文(简体) 中文(繁體)