std::array<T,N>::swap
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   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
| 
 noexcept specification:  
  
noexcept(noexcept(swap(std::declval<T&>(), std::declval<T&>()))) In the expression above, the identifier   | 
(until C++17) | 
| 
 noexcept specification:  
 
noexcept(std::is_nothrow_swappable_v<T>)  | 
(since C++17) | 
noexcept specification:  
noexcept
  Complexity
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 noexcept specification is ill-formed
 | 
made to work | 
See also
|    (C++11)  | 
   specializes the std::swap algorithm   (function template)  |