futures¶
The contents of this module can be included with the header
hpx/modules/futures.hpp. These headers may be used by user-code but are not
guaranteed stable (neither header location nor contents). You are using these at
your own risk. If you wish to use non-public functionality from a module we
strongly suggest only including the module header hpx/modules/futures.hpp, not
the particular header in which the functionality you would like to use is
defined. See Public API for a list of names that are part of the public
HPX API.
Header hpx/futures/future.hpp¶
Defines
-
HPX_MAKE_EXCEPTIONAL_FUTURE(T, errorcode, f, msg)¶
-
namespace
hpx -
namespace
lcos Functions
-
template<typename
R, typenameU, typenameConv>
hpx::lcos::future<R>make_future(hpx::lcos::future<U> &&f, Conv &&conv)¶
-
template<typename
T, typenameAllocator, typename ...Ts>
std::enable_if<std::is_constructible<T, Ts&&...>::value || std::is_void<T>::value, future<T>>::typemake_ready_future_alloc(Allocator const &a, Ts&&... ts)¶
-
template<typename
T, typename ...Ts>
std::enable_if<std::is_constructible<T, Ts&&...>::value || std::is_void<T>::value, future<T>>::typemake_ready_future(Ts&&... ts)¶
-
template<int
DeductionGuard= 0, typenameAllocator, typenameT>
future<typename hpx::util::decay_unwrap<T>::type>make_ready_future_alloc(Allocator const &a, T &&init)¶
-
template<int
DeductionGuard= 0, typenameT>
future<typename hpx::util::decay_unwrap<T>::type>make_ready_future(T &&init)¶
-
template<int
DeductionGuard= 0, typenameT>
future<typename hpx::util::decay_unwrap<T>::type>make_ready_future_at(hpx::util::steady_time_point const &abs_time, T &&init)¶
-
template<int
DeductionGuard= 0, typenameT>
future<typename hpx::util::decay_unwrap<T>::type>make_ready_future_after(hpx::util::steady_duration const &rel_time, T &&init)¶
-
template<typename
R>
classfuture: public hpx::lcos::detail::future_base<future<R>, R>¶ - #include <future.hpp>
Public Functions
-
future()¶
-
template<typename
T>future(future<T> &&other, typename std::enable_if<std::is_void<R>::value && !traits::is_future<T>::value, T>::type* = nullptr)¶
-
~future()¶
-
future &
operator=(future &&other)¶
-
hpx::traits::future_traits<future>::result_type
get(error_code &ec)¶
-
template<typename
F>
decltype(auto)then(F &&f, error_code &ec = throws)¶
-
template<typename
T0, typenameF>
decltype(auto)then(T0 &&t0, F &&f, error_code &ec = throws)¶
-
template<typename
Allocator, typenameF>
autothen_alloc(Allocator const &alloc, F &&f, error_code &ec = throws)¶
Private Types
-
typedef detail::future_base<future<R>, R>
base_type¶
Private Functions
Friends
-
friend
hpx::lcos::hpx::traits::future_access
-
- #include <future.hpp>
Public Types
Public Functions
Private Types
Private Functions
Friends
-
friend
hpx::lcos::hpx::traits::future_access
-
friend
-
template<typename
-
namespace
serialization
-
namespace
Header hpx/futures/future_fwd.hpp¶
Header hpx/futures/futures_factory.hpp¶
-
namespace
hpx -
namespace
lcos -
namespace
local -
template<typename
Result, boolCancelable>
classfutures_factory<Result(), Cancelable>¶ - #include <futures_factory.hpp>
Public Functions
-
futures_factory()¶
-
template<typename
F, typenameEnable= typename std::enable_if<!std::is_same<typename hpx::util::decay<F>::type, futures_factory>::value>::type>futures_factory(F &&f)¶
-
futures_factory(Result (*f)())¶
-
~futures_factory()¶
-
futures_factory(futures_factory const &rhs)¶
-
futures_factory &
operator=(futures_factory const &rhs)¶
-
futures_factory(futures_factory &&rhs)¶
-
futures_factory &
operator=(futures_factory &&rhs)¶
-
void
operator()() const¶
-
threads::thread_id_type
apply(const char *annotation = "futures_factory::apply", launch policy = launch::async, threads::thread_priority priority = threads::thread_priority_default, threads::thread_stacksize stacksize = threads::thread_stacksize_default, threads::thread_schedule_hint schedulehint = threads::thread_schedule_hint(), error_code &ec = throws) const¶
-
threads::thread_id_type
apply(threads::thread_pool_base *pool, const char *annotation = "futures_factory::apply", launch policy = launch::async, threads::thread_priority priority = threads::thread_priority_default, threads::thread_stacksize stacksize = threads::thread_stacksize_default, threads::thread_schedule_hint schedulehint = threads::thread_schedule_hint(), error_code &ec = throws) const¶
-
lcos::future<Result>
get_future(error_code &ec = throws)¶
-
bool
valid() const¶
-
-
template<typename
-
namespace
-
namespace
Header hpx/futures/packaged_continuation.hpp¶
Header hpx/futures/traits/acquire_future.hpp¶
-
namespace
hpx -
namespace
traits -
struct
acquire_future_disp¶ - #include <acquire_future.hpp>
-
struct
-
namespace
Header hpx/futures/traits/future_access.hpp¶
-
template<typename
R>
structfuture_access<lcos::future<R>>¶ - #include <future_access.hpp>
Public Static Functions
- #include <future_access.hpp>
Public Static Functions
Header hpx/futures/traits/future_then_result.hpp¶
Header hpx/futures/traits/future_traits.hpp¶
- #include <future_traits.hpp>
Public Types
-
typedef R
type
-
typedef R const &
result_type
-
typedef R
- #include <future_traits.hpp>
Public Types
-
typedef void
type
-
typedef void
result_type
-
typedef void
-
namespace
hpx -
namespace
traits -
template<typename
R>
structfuture_traits<lcos::future<R>> - #include <future_traits.hpp>
Public Types
-
typedef R
type
-
typedef R
result_type
-
typedef R
- #include <future_traits.hpp>
Public Types
-
typedef R
type
-
typedef R const &
result_type
-
typedef R
- #include <future_traits.hpp>
Public Types
-
typedef void
type
-
typedef void
result_type
-
typedef void
-
template<typename
-
namespace
Header hpx/futures/traits/get_remote_result.hpp¶
Header hpx/futures/traits/is_future.hpp¶
Header hpx/futures/traits/is_future_range.hpp¶
Header hpx/futures/traits/is_future_tuple.hpp¶
Header hpx/futures/traits/promise_local_result.hpp¶
-
template<>
structpromise_local_result<util::unused_type>¶ - #include <promise_local_result.hpp>
Public Types
-
typedef void
type¶
-
typedef void
-
namespace
hpx -
namespace
traits -
template<typename
Result, typenameEnable= void>
structpromise_local_result¶ - #include <promise_local_result.hpp>
Public Types
-
typedef Result
type
-
typedef Result
-
template<>
structpromise_local_result<util::unused_type> - #include <promise_local_result.hpp>
Public Types
-
typedef void
type
-
typedef void
-
template<typename
-
namespace
Header hpx/futures/traits/promise_remote_result.hpp¶
-
namespace
hpx