Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
friend constexpr /*iterator*/

operator + ( const /*iterator*/ & it, difference_type n )

requires /*concat-is-random-access*/ < Const, Views... > ;
(1) (C++26以降)
friend constexpr /*iterator*/

operator + ( difference_type n, const /*iterator*/ & it )

requires /*concat-is-random-access*/ < Const, Views... > ;
(2) (C++26以降)
friend constexpr /*iterator*/

operator - ( const /*iterator*/ & it, difference_type n )

requires /*concat-is-random-access*/ < Const, Views... > ;
(3) (C++26以降)
friend constexpr difference_type

operator - ( const /*iterator*/ & x, const /*iterator*/ & y )

requires /*concat-is-random-access*/ < Const, Views... > ;
(4) (C++26以降)
friend constexpr difference_type

operator - ( const /*iterator*/ & x, std:: default_sentinel_t )

requires /* 説明を参照 */ ;
(5) (C++26以降)
friend constexpr difference_type

operator - ( std:: default_sentinel_t , const /*iterator*/ & x )

requires /* 説明を参照 */ ;
(6) (C++26以降)

イテレータ をインクリメントまたはデクリメントします。

1) 次と同等 auto t = it ; t + = n ; return t ; .
2) 次と同等: return it + n ;
3) 次と同等 auto t = it ; t - = n ; return t ; .
4) Ix x. it_  . index ( ) とし、 Iy y. it_  . index ( ) とする:
x x. it_  . valueless_by_exception ( ) || y. it_  . valueless_by_exception ( ) true の場合、動作は未定義です。
5) Ix x. it_  . index ( ) とし、これは以下と等価である: difference_type result = ranges:: distance ( x. get-iter  < Ix > ( ) , x. get-end  < Ix > ( ) ) ;
for ( std:: size_t I = Ix + 1 , count = sizeof... ( Views ) ; I < count ; I ++ )
result + = ranges:: distance ( x. get-view  < I > ( ) ) ;
return - result ;
Fs Views の最初の要素を除くすべての要素からなるパックとすると、 requires 節内の式は以下と等価である:

( std:: sized_sentinel_for < ranges:: sentinel_t < maybe-const  < Const, Views >> ,
ranges:: iterator_t < maybe-const  < Const, Views >>> && ... ) &&
( ranges:: sized_range < maybe-const  < Const, Fs >> && ... )

it_ x. it_  . valueless_by_exception ( ) true の場合、動作は未定義です。
6) return - ( x - std:: default_sentinel ) ; に相当します。
Fs Views の最初の要素を除くすべての要素からなるパックとすると、 requires 節内の式は以下と等価です:

( std:: sized_sentinel_for < ranges:: sentinel_t < maybe-const  < Const, Views >> ,
ranges:: iterator_t < maybe-const  < Const, Views >>> && ... ) &&
( ranges:: sized_range < maybe-const  < Const, Fs >> && ... )

it_ x. it_  . valueless_by_exception ( ) true の場合、動作は未定義です。

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

目次

パラメータ

it, x, y - the iterators
n - 現在位置からの相対位置

戻り値

上記の通り。

関連項目

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