std::back_insert_iterator
提供: cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
| ヘッダ <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
|
void
|
pointer
|
void
|
reference
|
void
|
container_type
|
Container
|
|
メンバ型 |
(C++17未満) |
メンバ関数
新しい back_insert_iterator を構築します (パブリックメンバ関数) | |
| 紐付けられたコンテナにオブジェクトを挿入します (パブリックメンバ関数) | |
| 何もしません (パブリックメンバ関数) | |
| 何もしません (パブリックメンバ関数) |
メンバオブジェクト
| メンバ名 | 定義 |
container (protected)
|
Container* 型のポインタ
|
例
Run this code
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
int main()
{
std::vector<int> v;
std::generate_n(std::back_insert_iterator<std::vector<int>>(v), // can be simplified
10, [n=0]() mutable { return ++n; }); // with std::back_inserter
for (int n : v)
std::cout << n << ' ';
std::cout << '\n';
}
出力:
1 2 3 4 5 6 7 8 9 10
関連項目
| 引数から推定した型の std::back_insert_iterator を作成します (関数テンプレート) | |
| コンテナの先頭に挿入するためのイテレータアダプタ (クラステンプレート) | |
| コンテナに挿入するためのイテレータアダプタ (クラステンプレート) |