std::promise::promise

From cppreference.com
promise();
(1) (since C++11)
template< class Alloc >
promise( std::allocator_arg_t, const Alloc& alloc );
(2) (since C++11)
promise( promise&& other );
(3) (since C++11)
promise( const promise& other ) = delete;
(4) (since C++11)

Constructs a promise object.

1) Default constructor. Constructs the promise with an empty shared state.
2) Constructs the promise with an empty shared state. The shared state is allocated using alloc. Alloc must meet the requirements of Allocator.
3) Move constructor. Constructs the promise with the shared state of other using move semantics. other is in valid, but undefined state afterwards.
4) promise is not copyable.

[edit] Parameters

alloc - allocator to use to allocate the shared state
other - another promise to acquire the state from

[edit] Exceptions

1-2) (none)
3)
noexcept specification:  
noexcept
  (since C++11)
`