Namespaces
Variants

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

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

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

requires ranges:: random_access_range < /* Base */ > ;
(1) (C++23以降)
friend constexpr /* iterator */

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

requires ranges:: random_access_range < /* Base */ > ;
(2) (C++23以降)
friend constexpr /* iterator */

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

requires ranges:: random_access_range < /* Base */ > ;
(3) (C++23以降)
friend constexpr difference_type
operator - ( const /* iterator */ & i, const /* iterator */ & j ) noexcept ;
(4) (C++23以降)

iterator の算術演算を実行するか、距離を計算します。

pos_ は基盤となるインデックスであり、 Base は基盤となるビューの(const修飾されている可能性のある)型です。

同等の機能:

1) auto temp = i ; temp + = n ; return temp ;
2) return i + n ;
3) auto temp = i ; temp - = n ; return temp ;
4) return i. pos_ - j. pos_ ;

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

目次

パラメータ

i, j - イテレータ
n - 現在位置からの相対位置

戻り値

1,2) インクリメントされたイテレータ。
3) デクリメントされたイテレータ。
4) 指定されたイテレータ間の距離。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 3912 C++23 オーバーロード (4) noexcept ではなかった 現在は noexcept である

関連項目

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