std::output_iterator
From cppreference.com
| ヘッダ <iterator> で定義 |
||
| template< class I, class T > concept output_iterator = |
(C++20以降) | |
output_iterator コンセプトは、input_or_output_iterator コンセプトを洗練したもので、T によってエンコードされた型と値カテゴリの値の書き込みに使用できるという要件を追加します(indirectly_writable を介して)。equality_comparable は要求されません。
目次 |
[編集] 意味上の要件
E を、decltype((E)) が T であるような式とし、i を I 型のデリファレンス可能なオブジェクトとします。std::output_iterator<I, T> は、それが包含するすべてのコンセプトがモデル化されており、かつ *i++ = E; が *i = E; ++i; と同等の効果を持つ場合にのみモデル化されます。
[編集] 等価性保持
標準ライブラリのコンセプトのrequires式で宣言された式は、(特に明記されていない限り)等価性保持である必要があります。
[編集] 注釈
LegacyOutputIterator 要件とは異なり、output_iterator コンセプトはイテレータカテゴリタグの定義を要求しません。
出力イテレータに対するアルゴリズムは、シングルパスであるべきです。
[編集] 関連項目
| (C++20) |
ある型のオブジェクトがインクリメントおよび間接参照できることを規定する (コンセプト) |