public member function
<queue>

std::priority_queue::swap

void swap (priority_queue& x) noexcept (/*see below*/);
Swap contents
Exchanges the contents of the container adaptor by those of x, swapping both the underlying container value and their comparison function using the corresponding swap non-member functions (unqualified).

This member function has a noexcept specifier that matches the combined noexcept of the swap operations on the underlying container and the comparison functions.

Parameters

x
Another priority_queue container adaptor of the same type (i.e., instantiated with the same template parameters, T, Container and Compare). Sizes may differ.

Return value

none

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// priority_queue::swap
#include <iostream>       // std::cout
#include <queue>          // std::priority_queue

int main ()
{
  std::priority_queue<int> foo,bar;
  foo.push (15); foo.push(30); foo.push(10);
  bar.push (101); bar.push(202);

  foo.swap(bar);

  std::cout << "size of foo: " << foo.size() << '\n';
  std::cout << "size of bar: " << bar.size() << '\n';

  return 0;
}

Output:

size of foo: 2
size of bar: 3


Complexity

Constant.

Data races

Both *this and x are modified.

Exception safety

Provides the same level of guarantees as the operation performed on the underlying container objects.

See also