The C++ function std::unordered_map::swap() exchanges the content of first unordered_map with another.
Following is the declaration for std::unordered_map::swap() function form std::unordered_map header.
template <class Key, class T, class Hash, class Pred, class Alloc> void swap( unordered_map<Key,T,Hash,Pred,Alloc>& first, unordered_map<Key,T,Hash,Pred,Alloc>& second);
first − First unordered_map object.
second − Second unordered_map object of same type.
None
Constant i.e. O(1)
The following example shows the usage of std::unordered_map::swap() function.
#include <iostream> #include <unordered_map> using namespace std; int main(void) { unordered_map<char, int> um1 = { {'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5} }; unordered_map<char, int> um2; swap(um1, um2); cout << "Unordered map contains following elements" << endl; for (auto it = um2.begin(); it != um2.end(); ++it) cout << it->first << " = " << it->second << endl; return 0; }
Let us compile and run the above program, this will produce the following result −
Unordered map contains following elements e = 5 a = 1 b = 2 c = 3 d = 4