Difference between revisions of "Template:cpp/container/swap"
From cppreference.com
(p0185r1) |
m (typos) |
||
Line 45: | Line 45: | ||
|set|multiset|map|multimap= | |set|multiset|map|multimap= | ||
{{noexcept|std::allocator_traits<Allocator>::is_always_equal::value | {{noexcept|std::allocator_traits<Allocator>::is_always_equal::value | ||
− | && std::is_nothrow_swappable | + | && std::is_nothrow_swappable<Compare>::value}} |
|unordered_map|unordered_multimap|unordered_set|unordered_multiset= | |unordered_map|unordered_multimap|unordered_set|unordered_multiset= | ||
{{noexcept|std::allocator_traits<Allocator>::is_always_equal::value | {{noexcept|std::allocator_traits<Allocator>::is_always_equal::value | ||
− | && std::is_nothrow_swappable | + | && std::is_nothrow_swappable<Hash>::value |
− | && std::is_nothrow_swappable | + | && std::is_nothrow_swappable<KeyEqual>::value}} |
|{{included}} | |{{included}} | ||
}} | }} |
Revision as of 12:04, 13 March 2016
void swap( {{{1}}}& other ); |
(since {std}) | |
Exchanges the contents of the container with those of other
. Does not invoke any move, copy, or swap operations on individual elements.
Information on iterator invalidation is copied from here |
If std::allocator_traits<allocator_type>::propagate_on_container_swap::value is true, then the allocators are exchanged using an unqualified call to non-member swap . Otherwise, they are not swapped (and if get_allocator() != other.get_allocator(), the behavior is undefined). |
(since C++11) |
Contents |
Parameters
other | - | container to exchange the contents with |
Return value
(none)
Exceptions
(none) |
(until C++17) | ||
|
(since C++17) |
Complexity
Constant.
See also
specializes the std::swap algorithm (function template) |