Future Value Table

The class template std::future provides a mechanism to access the result of asynchronous operations: An asynchronous operation (performed via std::async, std::packaged_task, or std::promise) can provide a std::future object to the creator of that asynchronous operation. The creator of the asynchronous operation can then use a variety of methods to query, wait for, or extract a value from the ...

Future Value Table 1

The promise is the "push" end of the promise-future communication channel: the operation that stores a value in the shared state synchronizes-with (as defined in std::memory_order) the successful return from any function that is waiting on the shared state (such as std::future::get).

future (const future &) = delete; ~future (); future & operator =(const future &) = delete; future & operator =(future &&) noexcept; shared_future share () noexcept; // retrieving the value /* see description */ get (); // functions to check state bool valid () const noexcept; void wait () const; template
Future Value Table 3

Calculating the future value of an annuity is another example of the principle that money invested today will be worth more in the future. What It Measures The value to which a series of fixed-amount ...

Future Value Table 4

The get member function waits (by calling wait ()) until the shared state is ready, then retrieves the value stored in the shared state (if any). Right after calling this function, valid () is false. If valid () is false before the call to this function, the behavior is undefined.

Future Value Table 5

If the future is the result of a call to std::async that used lazy evaluation, this function returns immediately without waiting. This function may block for longer than timeout_duration due to scheduling or resource contention delays. The standard recommends that a steady clock is used to measure the duration.

Future Value Table 6