hpx/futures/traits/future_access.hpp

See Public API for a list of names and headers that are part of the public HPX API.

template<typename R>
struct future_access<hpx::future<R>>

Public Static Functions

template<typename SharedState>
static hpx::future<R> create(hpx::intrusive_ptr<SharedState> const &shared_state)
template<typename T = void>
static hpx::future<R> create(detail::shared_state_ptr_for_t<hpx::future<hpx::future<R>>> const &shared_state)
template<typename SharedState>
static hpx::future<R> create(hpx::intrusive_ptr<SharedState> &&shared_state)
template<typename T = void>
static hpx::future<R> create(detail::shared_state_ptr_for_t<hpx::future<hpx::future<R>>> &&shared_state)
template<typename SharedState>
static hpx::future<R> create(SharedState *shared_state, bool addref = true)
static traits::detail::shared_state_ptr_t<R> const &get_shared_state(hpx::future<R> const &f)
static traits::detail::shared_state_ptr_t<R>::element_type *detach_shared_state(hpx::future<R> &&f)
template<typename Destination>
static void transfer_result(hpx::future<R> &&src, Destination &dest)

Private Static Functions

template<typename Destination>
static void transfer_result_impl(hpx::future<R> &&src, Destination &dest, std::false_type)
template<typename Destination>
static void transfer_result_impl(hpx::future<R> &&src, Destination &dest, std::true_type)
template<typename R>
struct future_access<hpx::shared_future<R>>

Public Static Functions

template<typename SharedState>
static hpx::shared_future<R> create(hpx::intrusive_ptr<SharedState> const &shared_state)
template<typename T = void>
static hpx::shared_future<R> create(detail::shared_state_ptr_for_t<hpx::shared_future<hpx::future<R>>> const &shared_state)
template<typename SharedState>
static hpx::shared_future<R> create(hpx::intrusive_ptr<SharedState> &&shared_state)
template<typename T = void>
static hpx::shared_future<R> create(detail::shared_state_ptr_for_t<hpx::shared_future<hpx::future<R>>> &&shared_state)
template<typename SharedState>
static hpx::shared_future<R> create(SharedState *shared_state, bool addref = true)
static traits::detail::shared_state_ptr_t<R> const &get_shared_state(hpx::shared_future<R> const &f)
static traits::detail::shared_state_ptr_t<R>::element_type *detach_shared_state(hpx::shared_future<R> const &f)
template<typename Destination>
static void transfer_result(hpx::shared_future<R> &&src, Destination &dest)

Private Static Functions

template<typename Destination>
static void transfer_result_impl(hpx::shared_future<R> &&src, Destination &dest, std::false_type)
template<typename Destination>
static void transfer_result_impl(hpx::shared_future<R> &&src, Destination &dest, std::true_type)
namespace hpx
namespace traits

Typedefs

template<typename SharedState, typename Allocator>
using shared_state_allocator_t = typename shared_state_allocator<SharedState, Allocator>::type

Variables

template<typename R>
constexpr bool is_shared_state_v = is_shared_state<R>::value
template<typename R>
struct future_access<hpx::future<R>>

Public Static Functions

template<typename SharedState>
static hpx::future<R> create(hpx::intrusive_ptr<SharedState> const &shared_state)
template<typename T = void>
static hpx::future<R> create(detail::shared_state_ptr_for_t<hpx::future<hpx::future<R>>> const &shared_state)
template<typename SharedState>
static hpx::future<R> create(hpx::intrusive_ptr<SharedState> &&shared_state)
template<typename T = void>
static hpx::future<R> create(detail::shared_state_ptr_for_t<hpx::future<hpx::future<R>>> &&shared_state)
template<typename SharedState>
static hpx::future<R> create(SharedState *shared_state, bool addref = true)
static traits::detail::shared_state_ptr_t<R> const &get_shared_state(hpx::future<R> const &f)
static traits::detail::shared_state_ptr_t<R>::element_type *detach_shared_state(hpx::future<R> &&f)
template<typename Destination>
static void transfer_result(hpx::future<R> &&src, Destination &dest)

Private Static Functions

template<typename Destination>
static void transfer_result_impl(hpx::future<R> &&src, Destination &dest, std::false_type)
template<typename Destination>
static void transfer_result_impl(hpx::future<R> &&src, Destination &dest, std::true_type)
template<typename R>
struct future_access<hpx::shared_future<R>>

Public Static Functions

template<typename SharedState>
static hpx::shared_future<R> create(hpx::intrusive_ptr<SharedState> const &shared_state)
template<typename T = void>
static hpx::shared_future<R> create(detail::shared_state_ptr_for_t<hpx::shared_future<hpx::future<R>>> const &shared_state)
template<typename SharedState>
static hpx::shared_future<R> create(hpx::intrusive_ptr<SharedState> &&shared_state)
template<typename T = void>
static hpx::shared_future<R> create(detail::shared_state_ptr_for_t<hpx::shared_future<hpx::future<R>>> &&shared_state)
template<typename SharedState>
static hpx::shared_future<R> create(SharedState *shared_state, bool addref = true)
static traits::detail::shared_state_ptr_t<R> const &get_shared_state(hpx::shared_future<R> const &f)
static traits::detail::shared_state_ptr_t<R>::element_type *detach_shared_state(hpx::shared_future<R> const &f)
template<typename Destination>
static void transfer_result(hpx::shared_future<R> &&src, Destination &dest)

Private Static Functions

template<typename Destination>
static void transfer_result_impl(hpx::shared_future<R> &&src, Destination &dest, std::false_type)
template<typename Destination>
static void transfer_result_impl(hpx::shared_future<R> &&src, Destination &dest, std::true_type)