C++ unordered_multimap - swap() Function
The C++ unordered_multimap swap() function is used to exchange all elements of one unordered_multimap with all elements of another unordered_multimap. To apply this function, the data-type of both unordered_multimaps must be same, although the size may differ.
Syntax
template<class Key, class T, class Hash, class Pred, class Alloc> void swap( unordered_multimap<Key,T,Hash,Pred,Alloc>& lhs, unordered_multimap<Key,T,Hash,Pred,Alloc>& rhs );
Parameters
lhs |
First unordered_multimap. |
rhs |
Second unordered_multimap. |
Return Value
None.
Time Complexity
Constant i.e, Θ(1)
Example:
In the example below, the swap() function is used to exchange all elements of unordered_multimap uMMap1 with all elements of unordered_multimap uMMap2.
#include <iostream> #include <unordered_map> using namespace std; int main (){ unordered_multimap<string, string> uMMap1; unordered_multimap<string, string> uMMap2; unordered_multimap<string, string>::iterator it; //elements of uMMap1 uMMap1.insert(pair<string, string>("USA", "New York")); uMMap1.insert(pair<string, string>("USA", "Washington")); uMMap1.insert(pair<string, string>("CAN", "Toronto")); //elements of uMMap2 uMMap2.insert(pair<string, string>("CAN", "Montreal")); uMMap2.insert(pair<string, string>("IND", "Delhi")); cout<<"Before Swapping, The uMMap1 contains:\n"; for(it = uMMap1.begin(); it != uMMap1.end(); ++it) cout<<it->first<<" "<<it->second<<"\n"; cout<<"\nBefore Swapping, The uMMap2 contains:\n"; for(it = uMMap2.begin(); it != uMMap2.end(); ++it) cout<<it->first<<" "<<it->second<<"\n"; swap(uMMap1, uMMap2); cout<<"\n\nAfter Swapping, The uMMap1 contains:\n"; for(it = uMMap1.begin(); it != uMMap1.end(); ++it) cout<<it->first<<" "<<it->second<<"\n"; cout<<"\nAfter Swapping, The uMMap2 contains:\n"; for(it = uMMap2.begin(); it != uMMap2.end(); ++it) cout<<it->first<<" "<<it->second<<"\n"; return 0; }
The output of the above code will be:
Before Swapping, The uMMap1 contains: CAN Toronto USA Washington USA New York Before Swapping, The uMMap2 contains: IND Delhi CAN Montreal After Swapping, The uMMap1 contains: IND Delhi CAN Montreal After Swapping, The uMMap2 contains: CAN Toronto USA Washington USA New York
❮ C++ <unordered_map> Library