std::experimental::future

From cppreference.com
Defined in header <experimental/future>
template< class T > class future;
(1) (concurrency TS)
template< class T > class future<T&>;
(2) (concurrency TS)
template<> class future<void>;
(3) (concurrency TS)

The class template std::experimental::future extends std::future with the following operations:

  • an unwrapping constructor from future<future<T>>;
  • a member function is_ready to query whether the associated shared state is ready; and
  • a member function then to attach a continuation to the future.

However, there is no interoperation between std::experimental::future and std::future.

Member functions

construct a future object
(public member function)
checks if the shared state is ready
(public member function)
attaches a continuation to a future
(public member function)
moves the future object
(public member function)


Members identical to std::future

Member functions

Note that share() returns a std::experimental::shared_future<T>. The behavior is otherwise identical.

destructs the future object
(public member function of std::future)
transfers the shared state from *this to a shared_future and returns it
(public member function of std::future)
Getting the result
returns the result
(public member function of std::future)
State
checks if the future has a shared state
(public member function of std::future)
waits for the result to become available
(public member function of std::future)
waits for the result, returns if it is not available for the specified timeout duration
(public member function of std::future)
waits for the result, returns if it is not available until specified time point has been reached
(public member function of std::future)

Example

See also

(concurrency TS)
A version of std::shared_future enhanced with continuations and other features
(class template)