std::swap(std::array)
 template< class T, std::size_t N >
void swap( array<T,N>& lhs, 
           array<T,N>& rhs );
 |   (since C++11)  (until C++17)  |  |
 template< class T, std::size_t N >
void swap( array<T,N>& lhs, 
           array<T,N>& rhs ) noexcept(/* see below */);
 |   (since C++17)  (until C++20)  |  |
 template< class T, std::size_t N >
constexpr void swap( array<T,N>& lhs, 
                     array<T,N>& rhs ) noexcept(/* see below */);
 |  (since C++20) | 
Specializes the std::swap algorithm for std::array. Swaps the contents of lhs and rhs. Calls lhs.swap(rhs).
|   This overload only participates in overload resolution if   |  (since C++17) | 
Parameters
| lhs, rhs | - | containers whose contents to swap | 
Return value
(none).
Complexity
Linear in size of the container.
Exceptions
 noexcept specification: noexcept(noexcept(lhs.swap(rhs))) |  (since C++17) | 
See also
|  swaps the contents  (public member function)  | 
    © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
    http://en.cppreference.com/w/cpp/container/array/swap2