operator+,-(ranges::cartesian_product_view::iterator)
ja.cppreference.net より
friend constexpr /*iterator*/ operator+( const /*iterator*/& i,
difference_type n )
requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
|
(1) | (C++23以降) |
friend constexpr /*iterator*/ operator+( difference_type n,
const /*iterator*/& i )
requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
|
(2) | (C++23以降) |
friend constexpr /*iterator*/ operator-( const /*iterator*/& i,
difference_type n )
requires /*cartesian-product-is-random-access*/<Const, First, Vs...>;
|
(3) | (C++23以降) |
friend constexpr difference_type operator-( const /*iterator*/& i,
const /*iterator*/& j )
requires
/*cartesian-is-sized-sentinel*/<Const, iterator_t, First, Vs...>;
|
(4) | (C++23以降) |
friend constexpr difference_type operator-( const /*iterator*/& i,
std::default_sentinel_t )
requires
/*cartesian-is-sized-sentinel*/<Const, ranges::sentinel_t, First, Vs...>;
|
(5) | (C++23以降) |
friend constexpr difference_type operator-( std::default_sentinel_t s,
const /*iterator*/& i )
requires
/*cartesian-is-sized-sentinel*/<Const, ranges::sentinel_t, First, Vs...>;
|
(6) | (C++23以降) |
iterator の算術演算を行うか、距離を計算します。
current_ を基礎となるイテレータのタプルとし、parent_ を基礎となる cartesian_product_view へのポインタとする。
1) 以下と同等:
return /*iterator*/(i) += n;.2) 以下と同等:
return i + n;.3) 以下と同等:
return /*iterator*/(i) -= n;.4) 以下と同等:
return i.distance_from(j.current_);.5)
/*end-tuple*/ を std::tuple の特殊化である型のオブジェクトとし、次の条件を満たす:
std::get<0>(/*end-tuple*/)はranges::end(std::get<0>(i.parent_->bases_));std::get<N>(/*end-tuple*/)と同じ値を持ち、ranges::begin(std::get<N>(i.parent_->bases_))は任意の整数1 ≤ N ≤ sizeof...(Vs)に対して同じ値を持つ。
return i.distance_from(/*end-tuple*/);.6) 以下と同等:
return -(i - s);.これらの関数は、通常の未修飾または限定ルックアップでは可視ではなく、引数依存ルックアップによってのみ、cartesian_product_view::iterator<Const>が引数の関連クラスである場合に見つけられます。
パラメータ
| i, j | - | イテレータ |
| n | - | 現在位置からの相対位置 |
| s | - | センチネル |
戻り値
1,2)
インクリメントされたイテレータ。
3)
デクリメントされたイテレータ。
4)
指定されたイテレータ間の距離。
5,6)
指定されたイテレータとセンチネル間の距離。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
基となるイテレータを進めるまたは戻す
(公開メンバ関数) |