Namespaces
Variants

operator+ (std::move_iterator)

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
ヘッダーで定義 <iterator>
template < class Iter >

move_iterator < Iter > operator +
( typename move_iterator < Iter > :: difference_type n,

const move_iterator < Iter > & it ) ;
(C++11以降)
(constexprはC++17以降)
(C++20まで)
template < class Iter >

constexpr move_iterator < Iter > operator +

( std:: iter_difference_t < Iter > n, const move_iterator < Iter > & it ) ;
(C++20以降)

イテレータ it n だけインクリメントしたイテレータを返します。

このオーバーロードは、 it. base ( ) + n が適切に形成され、型 Iter を持つ場合にのみ、オーバーロード解決に参加します。

(C++20以降)

目次

パラメータ

n - イテレータをインクリメントする位置の数
it - インクリメントするイテレータアダプタ

戻り値

it + n

不具合報告

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

DR 適用対象 公開時の動作 正しい動作
LWG 3293 C++20 非メンバーの operator +
it + n が well-formed で型 Iter を持つことを要求するように制約されていた
以下のように変更
it. base ( ) + n

関連項目

move_iterator を進めるまたは戻す
(公開メンバ関数)
(C++11)
2つのイテレータアダプタ間の距離を計算する
(関数テンプレート)