std::insert_iterator
提供: 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
|
void |
pointer
|
void |
reference
|
void |
container_type
|
Container
|
メンバ型 |
(C++17未満) |
[編集] メンバ関数
新しい insert_iterator を構築します (パブリックメンバ関数) | |
紐付けられたコンテナにオブジェクトを挿入します (パブリックメンバ関数) | |
何もしません (パブリックメンバ関数) | |
何もしません (パブリックメンバ関数) |
[編集] メンバオブジェクト
メンバ名 | 定義 |
container (プロテクテッドメンバオブジェクト)
|
Container* 型のポインタ
|
iter (プロテクテッドメンバオブジェクト)
|
Container::iterator (C++20未満)ranges::iterator_t<Container> (C++20以上) 型のイテレータ
|
[編集] 例
Run this code
#include <vector> #include <list> #include <iostream> #include <iterator> #include <algorithm> 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 を作成します (関数テンプレート) | |
コンテナの末尾に挿入するためのイテレータアダプタ (クラステンプレート) | |
コンテナの先頭に挿入するためのイテレータアダプタ (クラステンプレート) |