std::polymorphic<T, Allocator>::swap - cppreference.com (original) (raw)
| constexpr void swap( polymorphic& other ) noexcept(/* see below */); | | (since C++26) | | ---------------------------------------------------------------------- | | ------------- |
Swaps the contents with those of other.
In the description below, swap_allocators refers to std::allocator_traits<Allocator>::propagate_on_container_swap::value.
Swaps the states of *this and other, exchanging owned objects or valueless states.
- If swap_allocators is true, then executes using std::swap;
swap(_[alloc](../polymorphic.html#alloc "cpp/memory/polymorphic")_, other._[alloc](../polymorphic.html#alloc "cpp/memory/polymorphic")_);. - Otherwise, the allocators are not swapped.
If one of the following conditions is satisfied, the behavior is undefined:
- swap_allocators is true, and
Allocatordoes not satisfy the requirements of Swappable. - swap_allocators is false, and get_allocator() == other.get_allocator() is false.
[edit] Parameters
| other | - | the polymorphic object to exchange the contents with |
|---|