std::promise<R>:: operator=

From cppreference.com
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe Reclamation
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
Free functions for atomic operations
Free functions for atomic flags
promise & operator = ( promise && other ) noexcept ;
(1) (since C++11)
promise & operator = ( const promise & rhs ) = delete ;
(2) (since C++11)

Assigns the contents.

1) Move assignment operator. First, abandons the shared state (as in ~promise() ), then assigns the shared state of other as if by executing std:: promise ( std :: move ( other ) ) . swap ( * this ) .
2) promise is not copy-assignable.

Parameters

other - another promise to acquire the state from

Return value

* this