std::swap(std::array)
From cppreference.com
                    
                                        
                    
                    
                                                            
                    
|   template< class T, std::size_t N > void swap( array<T,N>& lhs,   | 
 (since C++11)  (until C++17)  | 
|
|   template< class T, std::size_t N > void swap( array<T,N>& lhs,   | 
 (since C++17)  (until C++20)  | 
|
|   template< class T, std::size_t N > constexpr void swap( array<T,N>& lhs,   | 
(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)  |