◐ Shell
clean mode source ↗

std::insert_iterator - cppreference.com

提供: cppreference.com

<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>

ヘッダ <iterator> で定義

template< class Container > class insert_iterator : public std::iterator< std::output_iterator_tag, void,void,void,void >

(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

メンバ型 iterator_categoryvalue_typedifference_typepointer および referencestd::iterator<std::output_iterator_tag, void, void, void, void> から継承することによって取得することが要求されます。

(C++17未満)

メンバ関数

メンバオブジェクト

メンバ名 定義
container (プロテクテッドメンバオブジェクト) Container* 型のポインタ
iter (プロテクテッドメンバオブジェクト) Container::iterator (C++20未満)ranges::iterator_t<Container> (C++20以上) 型のイテレータ

#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';
}

出力:

関連項目