std::unordered_map<Key,T,Hash,KeyEqual,Allocator>::insert_range
From cppreference.com
          
            < cpp | container | unordered map
          
          | 
                      
                        template
                        <
                        container-compatible-range
                        <value_type> R >
                         void insert_range( R&& rg ) ; | (since C++23) | |
Inserts a copy of each element in the range rg if and only if there is no element with key equivalent to the key of that element in *this
Each iterator in the range rg is dereferenced exactly once. The behavior is undefined if rg
If after the operation the new number of elements is greater than old 
                max_load_factor()
                *
                
                bucket_count()
               a rehashing takes place.
            
Parameters
| rg | - | a container compatible range, that is, an input_rangewhose elements are convertible toT | 
| Type requirements | ||
| - value_typemust be EmplaceConstructible intounordered_mapfrom 
                    *ranges::begin(rg) | ||
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_map> #include <utility> void println(auto, auto const& container) { for (const auto& [key, value] : container) std::cout << '{' << key << ',' << value << '}' << ' '; std::cout << '\n'; } int main() { auto container = std::unordered_map{std::pair{1, 11}, {3, 33}, {2, 22}, {4, 44}}; const auto rg = {std::pair{-1, -11}, {3, -33}, {-2, -22}}; #ifdef __cpp_lib_containers_ranges container.insert_range(rg); #else container.insert(rg.begin(), rg.end()); #endif println("{}", container); }
Possible output:
{4,44} {-1,-11} {2,22} {3,33} {-2,-22} {1,11}See also
| inserts elements or nodes(since C++17) (public member function) |