libstdc++
Futures
Collaboration diagram for Futures:

Classes

class  std::__basic_future< _Res >
 Common implementation for future and shared_future. More...
struct  std::__future_base
 Base class and enclosing scope. More...
struct  std::__future_base::_Result< _Res & >
 Partial specialization for reference types. More...
struct  std::__future_base::_Result< void >
 Explicit specialization for void. More...
class  std::future< _Res >
 Primary template for future. More...
class  std::future< _Res & >
 Partial specialization for future<R&> More...
class  std::future< void >
 Explicit specialization for future<void> More...
class  std::future_error
 Exception type thrown by futures. More...
struct  std::is_error_code_enum< future_errc >
 Specialization. More...
class  std::packaged_task< _Res(_ArgTypes...)>
 packaged_task More...
class  std::promise< _Res >
 Primary template for promise. More...
class  std::promise< _Res & >
 Partial specialization for promise<R&> More...
class  std::promise< void >
 Explicit specialization for promise<void> More...
class  std::shared_future< _Res >
 Primary template for shared_future. More...
class  std::shared_future< _Res & >
 Partial specialization for shared_future<R&> More...
class  std::shared_future< void >
 Explicit specialization for shared_future<void> More...

Enumerations

enum  std::future_errc { future_already_retrieved, promise_already_satisfied, no_state, broken_promise }
enum  std::future_status { ready, timeout, deferred }
enum  std::launch { async, deferred }

Functions

 std::__basic_future< _Res >::__basic_future (const shared_future< _Res > &) noexcept
 std::__basic_future< _Res >::__basic_future (shared_future< _Res > &&) noexcept
 std::__basic_future< _Res >::__basic_future (future< _Res > &&) noexcept
template<typename _Signature , typename _Fn , typename _Alloc >
static shared_ptr
< __future_base::_Task_state_base
< _Signature > > 
std::__create_task_state (_Fn &&__fn, const _Alloc &__a)
template<typename _BoundFn >
static std::shared_ptr
< _State_base > 
std::__future_base::_S_make_async_state (_BoundFn &&__fn)
template<typename _BoundFn >
static std::shared_ptr
< _State_base > 
std::__future_base::_S_make_deferred_state (_BoundFn &&__fn)
template<typename _Fn , typename... _Args>
future< __async_result_of< _Fn,
_Args...> > 
std::async (launch __policy, _Fn &&__fn, _Args &&...__args)
template<typename _Fn , typename... _Args>
future< __async_result_of< _Fn,
_Args...> > 
std::async (_Fn &&__fn, _Args &&...__args)
const error_category & std::future_category () noexcept
error_code std::make_error_code (future_errc __errc) noexcept
error_condition std::make_error_condition (future_errc __errc) noexcept
constexpr launch std::operator& (launch __x, launch __y)
launch & std::operator&= (launch &__x, launch __y)
constexpr launch std::operator^ (launch __x, launch __y)
launch & std::operator^= (launch &__x, launch __y)
constexpr launch std::operator| (launch __x, launch __y)
launch & std::operator|= (launch &__x, launch __y)
constexpr launch std::operator~ (launch __x)
shared_future< _Res > std::future< _Res >::share () noexcept
shared_future< _Res & > std::future< _Res & >::share () noexcept
shared_future< void > std::future< void >::share () noexcept
template<typename _Res >
void std::swap (promise< _Res > &__x, promise< _Res > &__y) noexcept
template<typename _Res , typename... _ArgTypes>
void std::swap (packaged_task< _Res(_ArgTypes...)> &__x, packaged_task< _Res(_ArgTypes...)> &__y) noexcept

Detailed Description

Classes for futures support.


Enumeration Type Documentation

Error code for futures.

Definition at line 66 of file future.

Status code for futures.

Definition at line 174 of file future.

Launch code for futures.

Definition at line 137 of file future.


Function Documentation

template<typename _Fn , typename... _Args>
future< __async_result_of< _Fn, _Args...> > std::async ( launch  __policy,
_Fn &&  __fn,
_Args &&...  __args 
)

async

Definition at line 1712 of file future.

template<typename _Fn , typename... _Args>
future< __async_result_of< _Fn, _Args...> > std::async ( _Fn &&  __fn,
_Args &&...  __args 
) [inline]

async, potential overload

Definition at line 1745 of file future.

References std::async().

Referenced by std::async().

const error_category& std::future_category ( )

Points to a statically-allocated object derived from error_category.

Referenced by std::make_error_code(), and std::make_error_condition().

error_code std::make_error_code ( future_errc  __errc) [inline]

Overload for make_error_code.

Definition at line 84 of file future.

References std::future_category().

error_condition std::make_error_condition ( future_errc  __errc) [inline]

Overload for make_error_condition.

Definition at line 89 of file future.

References std::future_category().

template<typename _Res , typename... _ArgTypes>
void std::swap ( packaged_task< _Res(_ArgTypes...)> &  __x,
packaged_task< _Res(_ArgTypes...)> &  __y 
) [inline]

swap

Definition at line 1579 of file future.