std::back_insert_iterator
| ヘッダで定義 <iterator>
|
||
template< class Container >
class back_insert_iterator
: public std::iterator<std::output_iterator_tag, void, void, void, void>
|
(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
|
Container
|
|
メンバ型
|
(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), // または std::back_inserter ヘルパーを使用 // または C++17 の構文 std::back_insert_iterator(v) を使用 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
を作成する
(関数テンプレート) |
|
|
コンテナの先頭への挿入用イテレータアダプタ
(クラステンプレート) |
|
|
コンテナへの挿入用イテレータアダプタ
(クラステンプレート) |