std::priority_queue<T,Container,Compare>::swap
From cppreference.com
< cpp | container | priority queue
void swap( priority_queue& other ) noexcept(/* see below */); |
(since C++11) | |
Exchanges the contents of the container adaptor with those of other
. Effectively calls using std::swap; swap(c, other.c); swap(comp, other.comp);
Parameters
other | - | container adaptor to exchange the contents with |
Return value
(none)
Exceptions
noexcept specification:
noexcept(noexcept(swap(c, other.c)) && noexcept(swap(comp, other.comp))) In the expression above, the identifier |
(since C++11) (until C++17) |
noexcept specification:
noexcept(std::is_nothrow_swappable_v<Container> && std::is_nothrow_swappable_v<Compare>) |
(since C++17) |
Complexity
Same as underlying container (typically constant).
Notes
Some implementations (e.g. libc++) provide the swap
member function as an extension to pre-C++11 modes.
Example
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 2456 | C++11 | the noexcept specification is ill-formed
|
made to work |
See also
specializes the std::swap algorithm (function template) |