std::shared_future::operator=
From cppreference.com
                    
                                        
                    < cpp | thread | shared future
                    
                                                            
                    |   | 
(1) | (since C++11) | 
|   | 
(1) | (since C++11) | 
|   shared_future( future<R>&& other ); 
 | 
(1) | (since C++11) | 
|   shared_future( shared_future&& other ); 
 | 
(1) | (since C++11) | 
Constructs a new shared_future.
1) Default constructor. Constructs an empty shared future, that doesn't refer to a shared state, that is valid() == false.
2) Constructs a shared future that refers to the same shared state, as 
other, if there's any.
3-4) Move constructor. Transfers the shared state held by 
other to *this. After the construction, other->valid() == false, also valid() returns the same value as other.valid() would have returned before the construction.[edit] Parameters
| other | - | another future object to initialize with | 
[edit] Exceptions
1) (none)
2)