std::insert_iterator
From cppreference.com
| ヘッダ <iterator> で定義 |
||
| template< class Container > class insert_iterator : public std::iterator<std::output_iterator_tag, |
(C++17まで) | |
| template< class Container > class insert_iterator; |
(C++17以降) | |
std::insert_iterator は、構築されたコンテナに、指定されたイテレータが指す位置に要素を挿入する、LegacyOutputIterator です。イテレータ(デリファレンスされたかどうかにかかわらず)が代入されるたびに、コンテナのinsert() メンバ関数が呼び出されます。std::insert_iterator のインクリメントは何も行いません。
目次 |
[編集] メンバ型
| メンバ型 | 定義 | ||||
iterator_category
|
std::output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
| ||||
pointer
|
void | ||||
reference
|
void | ||||
container_type
|
コンテナ
|
|
|
(C++17まで) |
[編集] メンバ関数
新しいinsert_iteratorを構築します。(public member function) | |
| 関連コンテナにオブジェクトを挿入します (public member function) | |
| 何も行わない (public member function) | |
| 何も行わない (public member function) |
[編集] メンバオブジェクト
| メンバ名 | 定義 |
container (protected member object) |
Container* 型のポインタ |
iter (protected member object) |
Container::iterator(C++20まで) ranges::iterator_t<Container>(C++20以降) 型のイテレータ |
[編集] 例
このコードを実行
#include <algorithm> #include <iostream> #include <iterator> #include <list> #include <vector> int main() { std::vector<int> v{1, 2, 3, 4, 5}; std::list<int> l{-1, -2, -3}; std::copy(v.begin(), v.end(), // may be simplified with std::inserter std::insert_iterator<std::list<int>>(l, std::next(l.begin()))); for (int n : l) std::cout << n << ' '; std::cout << '\n'; }
出力
-1 1 2 3 4 5 -2 -3
[編集] 関連項目
引数から推論された型のstd::insert_iteratorを作成します。(関数テンプレート) | |
| コンテナの末尾への挿入のためのイテレータアダプタ (クラステンプレート) | |
| コンテナの先頭への挿入のためのイテレータアダプタ (クラステンプレート) |