std::deque<T,Allocator>::swap
From cppreference.com
                    
                                        
                    
                    
                                                            
                    
|   void swap( deque& other );  | 
(until C++17) | |
|   void swap( deque& other ) noexcept(/* see below */);  | 
(since C++17) | |
Exchanges the contents of the container with those of other. Does not invoke any move, copy, or swap operations on individual elements.
All iterators and references remain valid. The past-the-end iterator is invalidated.
If std::allocator_traits<allocator_type>::propagate_on_container_swap::value is true, then the allocators are exchanged using an unqualified call to non-member swap. Otherwise, they are not swapped (and if get_allocator() != other.get_allocator(), the behavior is undefined). | 
(since C++11) | 
Parameters
| other | - | container to exchange the contents with | 
Return value
(none)
Exceptions
| 
 (none)  | 
(until C++17) | 
| 
 noexcept specification:  
 
noexcept(std::allocator_traits<Allocator>::is_always_equal::value)  | 
(since C++17) | 
Complexity
Constant.
See also
|    specializes the std::swap algorithm   (function template)  |