最終更新日時:
が更新

履歴 編集

class template
<iterator>

std::insert_iterator

namespace std {
  template <class Container>
  class insert_iterator
    : public iterator<output_iterator_tag, void, void, void, void>;
}

概要

insert_iteratorは出力イテレータであり、代入の際にコンテナのinsert()メンバ関数を呼び出すイテレータアダプタである。

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ
~insert_iterator() = default デストラクタ
operator= 代入演算子
operator* 間接参照演算子
operator++ イテレータをインクリメントする

protectedメンバ変数

変数名 対応バージョン
container Container*
iter Container::iterator

メンバ型

名前 説明 対応バージョン
container_type Container
difference_type void
pointer void
value_type void
iterator_category output_iterator_tag
reference void

非メンバ関数

名前 説明 対応バージョン
inserter insert_iteratorのヘルパ関数

#include <iostream>
#include <set>
#include <iterator>
#include <algorithm>

int main()
{
  std::set<int> src = {1, 2, 3};
  std::set<int> dest;

  // srcの要素をdestに挿入しながらコピー
  std::copy(src.begin(), src.end(), std::inserter(dest, dest.end()));

  for (int x : dest) {
    std::cout << x << std::endl;
  }
}

出力

1
2
3

参照