std::swap(std::promise)
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <future> | ||
| template< class R > void swap( promise<R> &lhs, promise<R> &rhs ); | (since C++11) | |
Specializes the std::swap algorithm for std::promise. Exchanges the shared state of lhs with that of rhs. Effectively calls lhs.swap(rhs).
Parameters
| lhs, rhs | - | promises whose states to swap | 
Return value
(none)
Exceptions
noexcept specification:  
noexcept
  Example
| This section is incomplete Reason: no example | 
See also
| swaps two promise objects (public member function) |