std::back_insert_iterator
From cppreference.com
| ヘッダ <iterator> で定義 |
||
| template< class Container > class back_insert_iterator |
(C++17まで) | |
| template< class Container > class back_insert_iterator; |
(C++17以降) | |
std::back_insert_iterator は、構築されたコンテナに要素を追記する LegacyOutputIterator です。イテレータ(逆参照されたかどうかにかかわらず)が代入されるたびに、コンテナの push_back() メンバ関数が呼び出されます。std::back_insert_iterator のインクリメントは何も行いません。
目次 |
[編集] メンバ型
| メンバ型 | 定義 | ||||
iterator_category
|
std::output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
| ||||
pointer
|
void | ||||
reference
|
void | ||||
container_type
|
コンテナ
|
|
メンバ型 |
(C++17まで) |
[編集] メンバ関数
新しい back_insert_iterator を構築します。(public member function) | |
| 関連コンテナにオブジェクトを挿入します (public member function) | |
| 何も行わない (public member function) | |
| 何も行わない (public member function) |
[編集] メンバオブジェクト
| メンバ名 | 定義 |
container (protected) |
Container* 型のポインタ。 |
[編集] 例
このコードを実行
#include <algorithm> #include <iostream> #include <iterator> #include <vector> int main() { std::vector<int> v; std::generate_n( std::back_insert_iterator<std::vector<int>>(v), // Or use std::back_inserter helper // Or use std::back_insert_iterator(v) C++17's syntax 10, [n = 0]() mutable { return ++n; } ); for (int n : v) std::cout << n << ' '; std::cout << '\n'; }
出力
1 2 3 4 5 6 7 8 9 10
[編集] 関連項目
引数から推論される型の std::back_insert_iterator を作成します。(関数テンプレート) | |
| コンテナの先頭への挿入のためのイテレータアダプタ (クラステンプレート) | |
| コンテナへの挿入のためのイテレータアダプタ (クラステンプレート) |