Namespaces
Variants

operator+,- (ranges::cartesian_product_view:: iterator )

From cppreference.net
Ranges library
Range adaptors
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*/ を、 tuple の特殊化である型のオブジェクトとし、以下の条件を満たすものとする:
  • std :: get < 0 > ( /*end-tuple*/ ) ranges:: end ( std :: get < 0 > ( i. parent_ - > bases_ ) ) ; と同じ値を持つ。
  • std :: get < N > ( /*end-tuple*/ ) が、すべての整数 1 ≤ N ≤ sizeof... ( Vs ) に対して ranges:: begin ( std :: get < N > ( i. parent_ - > bases_ ) ) と同じ値を持つ。
以下と等価: return i. distance_from ( /*end-tuple*/ ) ; .
6) 次と同等: return - ( i - s ) ; .

これらの関数は通常の unqualified lookup または qualified lookup では可視化されず、 cartesian_product_view:: iterator <Const> が引数の関連クラスである場合にのみ argument-dependent lookup によって発見されます。

目次

パラメータ

i, j - イテレータ
n - 現在位置からの相対位置
s - センチネル

戻り値

1,2) インクリメントされたイテレータ。
3) デクリメントされたイテレータ。
4) 指定されたイテレータ間の距離。
5,6) 指定されたイテレータとセンチネル間の距離。

関連項目

基となるイテレータを進めるまたは戻す
(公開メンバ関数)