D.4. Заголовок <future>
В заголовке <future> объявлены средства для обработки результатов асинхронных операций, которые могли быть выполнены в другом потоке.
Содержимое заголовка
namespace std {
enum class future_status {
ready, timeout, deferred
};
enum class future_errc {
broken_promise,
future_already_retrieved,
promise_already_satisfied,
no_state
};
class future_error;
const error_category& future_category();
error_code make_error_code(future_errc e);
error_condition make_error_condition(future_errc e);
template<typename ResultType>
class future;
template<typename ResultType>
class shared_future;
template<typename ResultType>
class promise;
template<typename FunctionSignature>
class packaged_task; // определение не предоставляется
template<typename ResultType, typename ... Args>
class packaged_task<ResultType (Args...)>;
enum class launch {
async, deferred
};
template<typename FunctionType, typename ... Args>
future<result_of<FunctionType(Args...)>::type>
async(FunctionType&& func, Args&& ... args);
template<typename FunctionType, typename ... Args>
future<result_of<FunctionType(Args...)>::type>
async(std::launch policy, FunctionType&& func, Args&& ... args);
}