std::swap(std::stack)
From cppreference.com
                    
                                        
                    
                    
                                                            
                    
|   template< class T, class Container > void swap( stack<T,Container>& lhs,   | 
(until C++17) | |
|   template< class T, class Container > void swap( stack<T,Container>& lhs,   | 
(since C++17) | |
Specializes the std::swap algorithm for std::stack. Swaps the contents of lhs and rhs. Calls lhs.swap(rhs).
| 
 This overload only participates in overload resolution if std::is_swappable<Container>::value is true.  | 
(since C++17) | 
Parameters
| lhs, rhs | - | containers whose contents to swap | 
Return value
(none)
Complexity
Same as swapping the underlying container.
Exceptions
| 
 noexcept specification:  
 
noexcept(noexcept(lhs.swap(rhs)))  | 
(since C++17) | 
See also
|    swaps the contents   (public member function)  |