std::promise::swap
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | void swap( promise& other ); | (since C++11) | |
Exchanges the shared states of two promise objects.
Parameters
| other | - | the promise to swap with | 
Return value
(none)
Exceptions
noexcept specification:  
noexcept
  Example
| This section is incomplete Reason: no example | 
See also
| (C++11) | specializes the std::swap algorithm (function template) |