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