table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::unordered_multiset::insert_range(3) | C++ Standard Libary | std::unordered_multiset::insert_range(3) | 
NAME¶
std::unordered_multiset::insert_range - std::unordered_multiset::insert_range
Synopsis¶
 template< container-compatible-range<value_type> R >
    (since C++23)
  
   void insert_range( R&& rg );
  
   Inserts a copy of each element in the range rg.
  
   Each iterator in the range rg is dereferenced exactly once. The behavior is
  
   undefined if rg overlaps with the container.
  
   If after the operation the new number of elements is greater than old
  
   max_load_factor() * bucket_count() a rehashing takes place.
  
   If rehashing occurs (due to the insertion), all iterators are invalidated.
    Otherwise
  
   (no rehashing), iterators are not invalidated.
Parameters¶
 rg - a container compatible range, that is, an input_range whose
    elements
  
   are convertible to T
Type requirements¶
 -
  
   value_type must be EmplaceConstructible into unordered_multiset from
  
   *ranges::begin(rg). Otherwise, the behavior is undefined.
Return value¶
(none)
Complexity¶
Average case O(N), where N is ranges::distance(rg), worst case O(N·(a.size() + 1)).
Notes¶
 Feature-test macro Value Std Feature
  
   __cpp_lib_containers_ranges 202202L (C++23) Ranges-aware construction and
    insertion
Example¶
// Run this code
  
   #include <iostream>
  
   #include <unordered_set>
  
   void println(auto, auto const& container)
  
   {
  
   for (const auto& elem : container)
  
   std::cout << elem << ' ';
  
   std::cout << '\n';
  
   }
  
   int main()
  
   {
  
   auto container = std::unordered_multiset{1, 3, 2, 4};
  
   const auto rg = {-1, 3, -2};
  
   #ifdef __cpp_lib_containers_ranges
  
   container.insert_range(rg);
  
   #else
  
   container.insert(rg.begin(), rg.end());
  
   #endif
  
   println("{}", container);
  
   }
Possible output:¶
1 -2 3 3 2 -1 4
See also¶
 inserts elements
  
   insert or nodes
  
   (since C++17)
  
   (public member function)
| 2024.06.10 | http://cppreference.com |