A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.com/reference/unordered_set/unordered_multiset/swap/ below:

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
swap (unordered_multiset)
Exchanges contents of two unordered_multiset containers (function template)
swap
Exchange values of two objects (function template)
swap_ranges
Exchange values of two ranges (function template)

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4