public member function
<unordered_set>

std::unordered_multiset::swap

void swap ( unordered_multiset& ums );
Swap content
Exchanges the content of the container by the content of ums, which is another unordered_multiset object containing elements of the same type. Sizes may differ.

After the call to this member function, the elements in this container are those which were in ums before the call, and the elements of ums are those which were in this. Other objects kept internally by the containers (such as their hasher or key_equal objects) are also swapped.

This function exchanges internal pointers to data between the containers without actually performing any copies or moves on the individual elements, allowing for constant time execution no matter the sizes.

Notice that a global algorithm function exists with this same name, swap. This global function is overloaded for arguments of type unordered_multiset to have the same behavior and complexity as this member function.

Parameters

ums
Another unordered_multiset container object of the same type as this.

Return value

none

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// unordered_multiset::swap
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_multiset<std::string>
     first = {"cow","chicken","pig","pig"},
     second  = {"wolf","rabbit","rabbit"};

  first.swap(second);

  std::cout << "first:";
  for (const std::string& x: first) std::cout << " " << x;
  std::cout << std::endl;

  std::cout << "second:";
  for (const std::string& x: second) std::cout << " " << x;
  std::cout << std::endl;

  return 0;
}


Possible output:
first: wolf rabbit rabbit
second: chicken cow pig pig

Complexity

Constant.

Iterator validity

All iterators, pointers and references remain valid, but now are referring to elements in the other container, and iterate in it.

See also

  • 9316991614 2018-02-25
  • 191841613 2018-02-25
  • 16411612 2018-02-25
  • 6081981611 2018-02-25
  • 1784561610 2018-02-25
  • 4651609 2018-02-25
  • 9348111608 2018-02-25
  • 2513771607 2018-02-25
  • 6478461606 2018-02-24
  • 4985791605 2018-02-24
  • 5637141604 2018-02-24
  • 282181603 2018-02-24
  • 6217941602 2018-02-24
  • 5076141601 2018-02-24
  • 714281600 2018-02-24
  • 6607141599 2018-02-24
  • 949041598 2018-02-24
  • 6809961597 2018-02-24
  • 671871596 2018-02-24
  • 7107821595 2018-02-24