最終更新日時: 2022年11月20日 12時49分01秒 (JST)
suomesta が更新

履歴 編集

function template
<iterator>

# std::inserter

    namespace std {
      template <class Container>
      insert_iterator<Container>
        inserter(Container& x, typename Container::iterator i);   // (1) C++03

      template <class Container>
      constexpr insert_iterator<Container>
        inserter(Container& x, ranges::iterator_t<Container> i);  // (1) C++20
    }

## 概要

`insert_iterator`のヘルパ関数

## 戻り値

    insert_iterator<Container>(x, i)

## 例

    #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

## 参照

- P1032R1 Misc `constexpr` bits
- P0896R4 The One Ranges Proposal (was Merging the Ranges TS)