std::shared_future::operator=
From cppreference.com
                    
                                        
                    < cpp | thread | shared future
                    
                                                            
                    | shared_future& operator=( const shared_future& other ); | (1) | (since C++11) | 
| shared_future& operator=( shared_future&& other ); | (2) | (since C++11) | 
Assigns the contents of another shared_future.
1) Releases any shared state and assigns the contents of 
other to *this. After the assignment, this->valid() == other.valid().2) Releases any shared state and move-assigns the contents of 
other to *this. After the assignment, other.valid() == false and this->valid() will yield the same value as other.valid() before the assignment.[edit] Parameters
| other | - | a std::shared_futurethat will transfer state to *this | 
[edit] Return value
*this
[edit] Exceptions
| 1) (none)
 | (until C++17) | 
| 1)  noexcept specification:   noexcept | (since C++17) | 
2) 
noexcept specification:  
noexcept
  

