• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <flat_set>

    std::flat_set::insert_range

    template<container-compatible-range<value_type> R>
    void insert_range(R&& rg);                        // (1) C++23
    

    概要

    Rangeを挿入し、コンテナを拡張する。

    これは、挿入された要素の数だけコンテナの size() を増やす。

    flat_set コンテナは重複したキーを持つ要素を許さないため、挿入操作はそれぞれの要素が他のコンテナ内の既存要素と同じキーかどうかをチェックする。もし同じであれば要素は挿入されない。

    重複した値を許す、類似したコンテナについては flat_multiset を参照。

    内部的に flat_set コンテナは、コンストラクト時に指定された比較オブジェクトによって要素を下位から上位へとソートして保持する。

    戻り値

    なし

    計算量

    備考

    • この操作はインプレース・マージを行うため、追加のメモリ確保を行う可能性がある

    #include <flat_set>
    #include <iostream>
    
    int main()
    {
      std::flat_set<int> fs = {3};
    
      std::flat_set<int> fs2 = {5, 15};
    
      fs.insert_range(fs2);
    
      for (int i : fs) {
        std::cout << i << std::endl;
      }
    }
    

    出力

    3
    5
    15
    

    バージョン

    処理系

    関連項目

    名前 説明
    flat_set::insert 要素を挿入する
    flat_set::emplace 要素を直接構築する
    flat_set::emplace_hint ヒントを使って要素を直接構築する