hpx/timed_execution/timed_execution_fwd.hpp#

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

namespace hpx
namespace parallel
namespace execution
struct async_execute_after_t : public hpx::functional::detail::tag_fallback<async_execute_after_t>#
#include <timed_execution_fwd.hpp>

Customization point of asynchronous execution agent creation supporting timed execution.

This asynchronously creates a single function invocation f() using the associated executor at the given point in time.

Note

This calls exec.async_execute_after(rel_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::async_execute() on the underlying non-time-scheduled execution agent.

Param exec

[in] The executor object to use for scheduling of the function f.

Param rel_time

[in] The duration of time after which the given function should be scheduled to run.

Param f

[in] The function which will be scheduled using the given executor.

Param ts…

[in] Additional arguments to use to invoke f.

Return

f(ts…)’s result through a future

Private Functions

template<typename Executor, typename F, typename ...Ts>
inline decltype(auto) friend tag_fallback_invoke(async_execute_after_t, Executor &&exec, hpx::chrono::steady_duration const &rel_time, F &&f, Ts&&... ts)#
struct async_execute_at_t : public hpx::functional::detail::tag_fallback<async_execute_at_t>#
#include <timed_execution_fwd.hpp>

Customization point of asynchronous execution agent creation supporting timed execution.

This asynchronously creates a single function invocation f() using the associated executor at the given point in time.

Note

This calls exec.async_execute_at(abs_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::async_execute() on the underlying non-time-scheduled execution agent.

Param exec

[in] The executor object to use for scheduling of the function f.

Param abs_time

[in] The point in time the given function should be scheduled at to run.

Param f

[in] The function which will be scheduled using the given executor.

Param ts…

[in] Additional arguments to use to invoke f.

Return

f(ts…)’s result through a future

Private Functions

template<typename Executor, typename F, typename ...Ts>
inline decltype(auto) friend tag_fallback_invoke(async_execute_at_t, Executor &&exec, hpx::chrono::steady_time_point const &abs_time, F &&f, Ts&&... ts)#
struct post_after_t : public hpx::functional::detail::tag_fallback<post_after_t>#
#include <timed_execution_fwd.hpp>

Customization point of asynchronous fire & forget execution agent creation supporting timed execution.

This asynchronously (fire & forget) creates a single function invocation f() using the associated executor at the given point in time.

Note

This calls exec.post_after(rel_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::post() on the underlying non-time-scheduled execution agent.

Param exec

[in] The executor object to use for scheduling of the function f.

Param rel_time

[in] The duration of time after which the given function should be scheduled to run.

Param f

[in] The function which will be scheduled using the given executor.

Param ts…

[in] Additional arguments to use to invoke f.

Private Functions

template<typename Executor, typename F, typename ...Ts>
inline decltype(auto) friend tag_fallback_invoke(post_after_t, Executor &&exec, hpx::chrono::steady_duration const &rel_time, F &&f, Ts&&... ts)#
struct post_at_t : public hpx::functional::detail::tag_fallback<post_at_t>#
#include <timed_execution_fwd.hpp>

Customization point of asynchronous fire & forget execution agent creation supporting timed execution.

This asynchronously (fire & forget) creates a single function invocation f() using the associated executor at the given point in time.

Note

This calls exec.post_at(abs_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::post() on the underlying non-time-scheduled execution agent.

Param exec

[in] The executor object to use for scheduling of the function f.

Param abs_time

[in] The point in time the given function should be scheduled at to run.

Param f

[in] The function which will be scheduled using the given executor.

Param ts…

[in] Additional arguments to use to invoke f.

Private Functions

template<typename Executor, typename F, typename ...Ts>
inline decltype(auto) friend tag_fallback_invoke(post_at_t, Executor &&exec, hpx::chrono::steady_time_point const &abs_time, F &&f, Ts&&... ts)#
struct sync_execute_after_t : public hpx::functional::detail::tag_fallback<sync_execute_after_t>#
#include <timed_execution_fwd.hpp>

Customization point of synchronous execution agent creation supporting timed execution.

This synchronously creates a single function invocation f() using the associated executor at the given point in time.

Note

This calls exec.sync_execute_after(rel_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::sync_execute() on the underlying non-time-scheduled execution agent.

Param exec

[in] The executor object to use for scheduling of the function f.

Param rel_time

[in] The duration of time after which the given function should be scheduled to run.

Param f

[in] The function which will be scheduled using the given executor.

Param ts…

[in] Additional arguments to use to invoke f.

Return

f(ts…)’s result

Private Functions

template<typename Executor, typename F, typename ...Ts>
inline decltype(auto) friend tag_fallback_invoke(sync_execute_after_t, Executor &&exec, hpx::chrono::steady_duration const &rel_time, F &&f, Ts&&... ts)#
struct sync_execute_at_t : public hpx::functional::detail::tag_fallback<sync_execute_at_t>#
#include <timed_execution_fwd.hpp>

Customization point of synchronous execution agent creation supporting timed execution.

This synchronously creates a single function invocation f() using the associated executor at the given point in time.

Note

This calls exec.sync_execute_at(abs_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::sync_execute() on the underlying non-time-scheduled execution agent.

Param exec

[in] The executor object to use for scheduling of the function f.

Param abs_time

[in] The point in time the given function should be scheduled at to run.

Param f

[in] The function which will be scheduled using the given executor.

Param ts…

[in] Additional arguments to use to invoke f.

Return

f(ts…)’s result

Private Functions

template<typename Executor, typename F, typename ...Ts>
inline decltype(auto) friend tag_fallback_invoke(sync_execute_at_t, Executor &&exec, hpx::chrono::steady_time_point const &abs_time, F &&f, Ts&&... ts)#
template<typename BaseExecutor>
struct timed_executor#