Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::flat_set<Key,Compare,KeyContainer>::insert_range

      From cppreference.com
      <cpp‎ |container‎ |flat set

      [edit template]
       
       
       
       
      template<container-compatible-range<value_type> R>
      void insert_range( R&& rg);
      (since C++23)
      (constexpr since C++26)

      Inserts a copy of each element in the rangerg into underlying containerc as if by:

      for(constauto& e: rg)    c.insert(c.end(), e);

      Then, sorts the range of newly inserted elements with respect tocompare.Merges the resulting sorted range and the sorted range of pre-existing elements into a single sorted range.Finally, erases all but the first element from each group of consecutive equivalent elements.

      Each iterator in the rangerg is dereferenced exactly once.

      If any of the following conditions is satisfied, the behavior is undefined:

      Information on iterator invalidation is copied fromhere

      Contents

      [edit]Parameters

      rg - acontainer compatible range, that is, aninput_range whose elements are convertible toT

      [edit]Complexity

      \(\scriptsize S + N \cdot \log(N)\)S+N·log(N), where\(\scriptsize S\)S issize() and\(\scriptsize N\)N isranges::distance(rg).

      [edit]Notes

      Sinceinsert_range performs an in-place merge operation, that may allocate memory.

      [edit]Example

      Run this code
      #include <iostream>#include <flat_set> void println(auto,constauto& container){for(constauto& elem: container)std::cout<< elem<<' ';std::cout<<'\n';} int main(){auto container=std::flat_set{1,3,2,4};constauto rg={-1,3,-2};#ifdef __cpp_lib_containers_ranges    container.insert_range(rg);#else    container.insert(rg.begin(), rg.end());#endif    println("{}", container);}

      Output:

      -2 -1 1 2 3 4

      [edit]See also

      inserts elements
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/flat_set/insert_range&oldid=169271"

      [8]ページ先頭

      ©2009-2025 Movatter.jp