Class promise<T> (2.15.0)

Implement promise<T> as defined in ISO/IEC TS 19571:2016.

Constructors

promise()

Creates a promise with an unsatisfied shared state.

promise(std::function< void()>)

Creates a promise with an unsatisfied shared state.

Parameter
NameDescription
cancellation_callback std::function< void()>

promise(null_promise_t)

Creates a promise without a shared state.

Parameter
NameDescription
x null_promise_t

promise(promise &&)

Constructs a new promise and transfer any shared state from rhs.

Parameter
NameDescription
promise &&

promise(promise const &)

Parameter
NameDescription
promise const &

Operators

operator=(promise &&)

Abandons the shared state in *this, if any, and transfers the shared state from rhs.

Parameter
NameDescription
rhs promise &&
Returns
TypeDescription
promise &

operator=(promise const &)

Parameter
NameDescription
promise const &
Returns
TypeDescription
promise &

Functions

swap(promise &)

Swaps the shared state in *this with rhs.

Parameter
NameDescription
other promise &
Returns
TypeDescription
void

get_future()

Creates the future<T> using the same shared state as *this.

Returns
TypeDescription
future< T >

set_value(T)

Satisfies the shared state.

Parameter
NameDescription
value T
Exceptions
TypeDescription
std::future_errorwith std::future_errc::promise_already_satisfied if the shared state is already satisfied.
std::future_errorwith std::no_state if the promise does not have a shared state.
Returns
TypeDescription
void