hpx/async_base/launch_policy.hpp

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

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)