std::array<T,N>::swap
| void swap( array& other ) noexcept(/* see below */); | (since C++11) (until C++20) | |
| constexpr void swap( array& other ) noexcept(/* see below */); | (since C++20) | 
Exchanges the contents of the container with those of other. Does not cause iterators and references to associate with the other container.
Parameters
| other | - | container to exchange the contents with | 
Return value
(none).
Exceptions
| noexceptspecification:noexcept(noexcept(swap(std::declval<T&>(), std::declval<T&>())))In the expression above, the identifier  | (until C++17) | 
| noexceptspecification:noexcept(std::is_nothrow_swappable_v<T>) | (since C++17) | 
noexcept specification: noexceptComplexity
Linear in size of the container.
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 noexceptspecification is ill-formed | made to work | 
See also
| (C++11) | specializes the std::swapalgorithm(function template) | 
    © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
    http://en.cppreference.com/w/cpp/container/array/swap