Facebook Page Twitter Page LinkedIn Page
× C++ Standard Library C++ STL Library


The C++ unordered_multiset::swap function is used to exchange all elements of one unordered_multiset with all elements of another unordered_multiset. To apply this function, the data-type of both unordered_multisets must be same, although the size may differ.

Syntax

template<class Key, class Hash, class Pred, class Alloc>
void swap(
    unordered_multiset<Key,Hash,Pred,Alloc>& lhs,
    unordered_multiset<Key,Hash,Pred,Alloc>& rhs 
);

Parameters

lhs First unordered_multiset.
rhs Second unordered_multiset.

Return Value

None.

Time Complexity

Constant i.e, Θ(1)

Example:

In the below example, the unordered_multiset::swap function is used to exchange all elements of unordered_multiset uMSet1 with all elements of unordered_multiset uMSet2.

#include <iostream>
#include <unordered_set>
using namespace std;
 
int main (){
  unordered_multiset<int> uMSet1{10, 20, 30, 40, 50};
  unordered_multiset<int> uMSet2{5, 55, 555};

  unordered_multiset<int>::iterator it;

  cout<<"Before Swapping, The uMSet1 contains:";
  for(it = uMSet1.begin(); it != uMSet1.end(); ++it)
    cout<<" "<<*it;
  cout<<"\nBefore Swapping, The uMSet2 contains:";
  for(it = uMSet2.begin(); it != uMSet2.end(); ++it)
    cout<<" "<<*it;

  swap(uMSet1, uMSet2);

  cout<<"\n\nAfter Swapping, The uMSet1 contains:";
  for(it = uMSet1.begin(); it != uMSet1.end(); ++it)
    cout<<" "<<*it;
  cout<<"\nAfter Swapping, The uMSet2 contains:";
  for(it = uMSet2.begin(); it != uMSet2.end(); ++it)
    cout<<" "<<*it;

  return 0;
}

The output of the above code will be:

Before Swapping, The uMSet1 contains: 50 40 30 20 10
Before Swapping, The uMSet2 contains: 555 55 5

After Swapping, The uMSet1 contains: 555 55 5
After Swapping, The uMSet2 contains: 50 40 30 20 10

❮ C++ - Unordered Multiset