async_base

The contents of this module can be included with the header hpx/modules/async_base.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/async_base.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.

namespace hpx

Functions

template<typename F, typename ...Ts>
bool apply(F &&f, Ts&&... ts)
namespace hpx

Functions

template<typename F, typename ...Ts>
decltype(auto) async(F &&f, Ts&&... ts)
namespace hpx

Functions

template<typename F, typename ...Ts>
auto dataflow(F &&f, Ts&&... ts)
HPX_FORWARD(F, f)
HPX_FORWARD(Ts, ts)
template<typename Allocator, typename F, typename ...Ts>
auto dataflow_alloc(Allocator const &alloc, F &&f, Ts&&... ts)
namespace hpx
struct launch : public detail::policy_holder<>
#include <launch_policy.hpp>

Launch policies for hpx::async etc.

Public Functions

constexpr launch()

Default constructor. This creates a launch policy representing all possible launch modes

constexpr launch(detail::async_policy p)

Create a launch policy representing asynchronous execution.

constexpr launch(detail::fork_policy p)

Create a launch policy representing asynchronous execution. The new thread is executed in a preferred way

constexpr launch(detail::sync_policy p)

Create a launch policy representing synchronous execution.

constexpr launch(detail::deferred_policy p)

Create a launch policy representing deferred execution.

constexpr launch(detail::apply_policy p)

Create a launch policy representing fire and forget execution.

template<typename F>
constexpr launch(detail::select_policy<F> const &p)

Create a launch policy representing fire and forget execution.

template<typename Launch, typename Enable = std::enable_if_t<hpx::traits::is_launch_policy_v<Launch>>>
constexpr launch(Launch l, threads::thread_priority priority, threads::thread_stacksize stacksize, threads::thread_schedule_hint hint)

Public Static Attributes

const detail::async_policy async

Predefined launch policy representing asynchronous execution.

const detail::fork_policy fork

Predefined launch policy representing asynchronous execution.The new thread is executed in a preferred way

const detail::sync_policy sync

Predefined launch policy representing synchronous execution.

const detail::deferred_policy deferred

Predefined launch policy representing deferred execution.

const detail::apply_policy apply

Predefined launch policy representing fire and forget execution.

const detail::select_policy_generator select

Predefined launch policy representing delayed policy selection.

Friends

launch tag_invoke(hpx::execution::experimental::with_priority_t, launch const &policy, threads::thread_priority priority)
friend constexpr hpx::threads::thread_priority tag_invoke(hpx::execution::experimental::get_priority_t, launch const &policy)
launch tag_invoke(hpx::execution::experimental::with_stacksize_t, launch const &policy, threads::thread_stacksize stacksize)
friend constexpr hpx::threads::thread_stacksize tag_invoke(hpx::execution::experimental::get_stacksize_t, launch const &policy)
launch tag_invoke(hpx::execution::experimental::with_hint_t, launch const &policy, threads::thread_schedule_hint hint)
friend constexpr hpx::threads::thread_schedule_hint tag_invoke(hpx::execution::experimental::get_hint_t, launch const &policy)
namespace hpx
namespace execution
namespace experimental

Variables

hpx::execution::experimental::with_priority_t with_priority
hpx::execution::experimental::get_priority_t get_priority
hpx::execution::experimental::with_stacksize_t with_stacksize
hpx::execution::experimental::get_stacksize_t get_stacksize
hpx::execution::experimental::with_hint_t with_hint
hpx::execution::experimental::get_hint_t get_hint
hpx::execution::experimental::with_annotation_t with_annotation
hpx::execution::experimental::get_annotation_t get_annotation
namespace hpx

Functions

template<typename F, typename ...Ts>
auto sync(F &&f, Ts&&... ts)
namespace hpx
namespace traits

Variables

template<typename Policy>
constexpr bool is_launch_policy_v = is_launch_policy<Policy>::value