From cppreference.com
Defined in header
template<classKey,classHash,classKeyEqual,classAlloc>voidswap(std::unordered_set<Key,Hash,KeyEqual,Alloc>&lhs,std::unordered_set<Key,Hash,KeyEqual,Alloc>&rhs);(since C++11)
(until C++17)template<classKey,classHash,classKeyEqual,classAlloc>voidswap(std::unordered_set<Key,Hash,KeyEqual,Alloc>&lhs,std::unordered_set<Key,Hash,KeyEqual,Alloc>&rhs)noexcept(/* see below */);(since C++17)Specializes the
algorithm for
. Swaps the contents of lhs and rhs. Calls lhs.swap(rhs).
Parameters
lhs, rhs - containers whose contents to swap Complexity
Constant.
Exceptions
specification:
noexcept(noexcept(lhs.swap(rhs)))(since C++17)Example
Run this code
#include<algorithm>#include<iostream>#include<unordered_set>intmain(){std::unordered_set<int>alice{1,2,3};std::unordered_set<int>bob{7,8,9,10};autoprint=[](constint&n){std::cout<<' '<<n;};// Print state before swapstd::cout<<"Alice:";std::for_each(alice.begin(),alice.end(),print);std::cout<<"\nBobby:";std::for_each(bob.begin(),bob.end(),print);std::cout<<'\n';std::cout<<"-- SWAP\n";std::swap(alice,bob);// Print state after swapstd::cout<<"Alice:";std::for_each(alice.begin(),alice.end(),print);std::cout<<"\nBobby:";std::for_each(bob.begin(),bob.end(),print);std::cout<<'\n';}Possible output:
Alice: 1 2 3 Bobby: 7 8 9 10 -- SWAP Alice: 7 8 9 10 Bobby: 1 2 3 See also
swaps the contents
(public member function)