table of contents
        
      
      
    | std::swap(std::unordered_map)(3) | C++ Standard Libary | std::swap(std::unordered_map)(3) | 
NAME¶
std::swap(std::unordered_map) - std::swap(std::unordered_map)
Synopsis¶
 Defined in header <unordered_map>
  
   template< class Key, class T, class Hash, class KeyEqual, class Alloc
  
   >
  
   (since C++11)
  
   void swap( std::unordered_map<Key,T,Hash,KeyEqual,Alloc>& lhs,
    (until C++17)
  
   std::unordered_map<Key,T,Hash,KeyEqual,Alloc>& rhs );
  
   template< class Key, class T, class Hash, class KeyEqual, class Alloc
  
   >
  
   void swap( std::unordered_map<Key,T,Hash,KeyEqual,Alloc>& lhs,
    (since C++17)
  
   std::unordered_map<Key,T,Hash,KeyEqual,Alloc>& rhs ) noexcept(/*
    see
  
   below */);
  
   Specializes the std::swap algorithm for std::unordered_map. Swaps the
    contents of
  
   lhs and rhs. Calls lhs.swap(rhs).
Parameters¶
lhs, rhs - containers whose contents to swap
Return value¶
(none)
Complexity¶
Constant.
Exceptions¶
 noexcept specification: (since C++17)
  
   noexcept(noexcept(lhs.swap(rhs)))
Notes¶
 Although the overloads of std::swap for container adaptors are
    introduced in C++11,
  
   container adaptors can already be swapped by std::swap in C++98. Such calls
    to
  
   std::swap usually have linear time complexity, but better complexity may be
  
   provided.
Example¶
// Run this code
  
   #include <algorithm>
  
   #include <iostream>
  
   #include <unordered_map>
  
   int main()
  
   {
  
   std::unordered_map<int, char> alice{{1, 'a'}, {2, 'b'}, {3, 'c'}};
  
   std::unordered_map<int, char> bob{{7, 'Z'}, {8, 'Y'}, {9, 'X'}, {10,
    'W'}};
  
   auto print = [](std::pair<const int, char>& n) {
  
   std::cout << " " << n.first << '(' <<
    n.second << ')';
  
   };
  
   // Print state before swap
  
   std::cout << "alice:";
  
   std::for_each(alice.begin(), alice.end(), print);
  
   std::cout << "\n" "bob :";
  
   std::for_each(bob.begin(), bob.end(), print);
  
   std::cout << '\n';
  
   std::cout << "-- SWAP\n";
  
   std::swap(alice, bob);
  
   // Print state after swap
  
   std::cout << "alice:";
  
   std::for_each(alice.begin(), alice.end(), print);
  
   std::cout << "\n" "bob :";
  
   std::for_each(bob.begin(), bob.end(), print);
  
   std::cout << '\n';
  
   }
Possible output:¶
 alice: 1(a) 2(b) 3(c)
  
   bob : 7(Z) 8(Y) 9(X) 10(W)
  
   -- SWAP
  
   alice: 7(Z) 8(Y) 9(X) 10(W)
  
   bob : 1(a) 2(b) 3(c)
See also¶
 swap swaps the contents
  
   (C++11) (public member function)
| 2022.07.31 | http://cppreference.com |