execution_base¶
The contents of this module can be included with the header
hpx/modules/execution_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/execution_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.
Header hpx/execution_base/agent_base.hpp
¶
-
namespace
hpx
-
namespace
execution_base
¶ -
struct
agent_base
¶ - #include <agent_base.hpp>
Public Functions
-
virtual
~agent_base
()¶
-
virtual context_base const &
context
() const = 0¶
-
virtual void
yield
(char const *desc) = 0¶
-
virtual void
suspend
(char const *desc) = 0¶
-
virtual void
resume
(char const *desc) = 0¶
-
virtual void
abort
(char const *desc) = 0¶
-
virtual void
sleep_for
(hpx::util::steady_duration const &sleep_duration, char const *desc) = 0¶
-
virtual void
sleep_until
(hpx::util::steady_time_point const &sleep_time, char const *desc) = 0¶
-
virtual
-
struct
-
namespace
Header hpx/execution_base/agent_ref.hpp
¶
-
namespace
hpx
-
namespace
execution_base
-
class
agent_ref
¶ - #include <agent_ref.hpp>
Public Functions
-
constexpr
agent_ref
()¶
-
constexpr
agent_ref
(agent_base *impl)¶
-
constexpr
operator bool
() const¶
-
void
reset
(agent_base *impl = nullptr)¶
-
void
yield
(char const *desc = "hpx::execution_base::agent_ref::yield")¶
-
void
suspend
(char const *desc = "hpx::execution_base::agent_ref::suspend")¶
-
void
resume
(char const *desc = "hpx::execution_base::agent_ref::resume")¶
-
void
abort
(char const *desc = "hpx::execution_base::agent_ref::abort")¶
-
template<typename
Rep
, typenamePeriod
>
voidsleep_for
(std::chrono::duration<Rep, Period> const &sleep_duration, char const *desc = "hpx::execution_base::agent_ref::sleep_for")¶
-
template<typename
Clock
, typenameDuration
>
voidsleep_until
(std::chrono::time_point<Clock, Duration> const &sleep_time, char const *desc = "hpx::execution_base::agent_ref::sleep_until")¶
-
agent_base &
ref
()¶
Private Functions
-
void
sleep_for
(hpx::util::steady_duration const &sleep_duration, char const *desc)¶
-
void
sleep_until
(hpx::util::steady_time_point const &sleep_time, char const *desc)¶
Private Members
-
agent_base *
impl_
¶
-
constexpr
-
class
-
namespace
Header hpx/execution_base/context_base.hpp
¶
-
namespace
hpx
-
namespace
execution_base
-
struct
context_base
¶ - #include <context_base.hpp>
-
struct
-
namespace
Header hpx/execution_base/execution.hpp
¶
-
namespace
hpx
-
namespace
parallel
-
namespace
execution
-
struct
parallel_execution_tag
¶ - #include <execution.hpp>
Function invocations executed by a group of parallel execution agents execute in unordered fashion. Any such invocations executing in the same thread are indeterminately sequenced with respect to each other.
- Note
parallel_execution_tag is weaker than sequenced_execution_tag.
-
struct
sequenced_execution_tag
¶ - #include <execution.hpp>
Function invocations executed by a group of sequential execution agents execute in sequential order.
-
struct
unsequenced_execution_tag
¶ - #include <execution.hpp>
Function invocations executed by a group of vector execution agents are permitted to execute in unordered fashion when executed in different threads, and un-sequenced with respect to one another when executed in the same thread.
- Note
unsequenced_execution_tag is weaker than parallel_execution_tag.
-
struct
-
namespace
-
namespace
Header hpx/execution_base/register_locks.hpp
¶
-
namespace
hpx
-
namespace
util
Functions
-
constexpr bool
unregister_lock
(void const*)¶
-
constexpr void
verify_no_locks
()¶
-
constexpr void
force_error_on_lock
()¶
-
constexpr void
enable_lock_detection
()¶
-
constexpr void
disable_lock_detection
()¶
-
constexpr void
ignore_lock
(void const*)¶
-
constexpr void
reset_ignored
(void const*)¶
-
constexpr void
ignore_all_locks
()¶
-
constexpr void
reset_ignored_all
()¶
-
constexpr bool
-
namespace
Header hpx/execution_base/resource_base.hpp
¶
Header hpx/execution_base/this_thread.hpp
¶
-
namespace
hpx
-
namespace
execution_base
-
namespace
this_thread
¶ Functions
-
hpx::execution_base::agent_ref
agent
()¶
-
void
yield
(char const *desc = "hpx::execution_base::this_thread::yield")¶
-
void
suspend
(char const *desc = "hpx::execution_base::this_thread::suspend")¶
-
struct
reset_agent
¶ - #include <this_thread.hpp>
Public Functions
-
reset_agent
(detail::agent_storage*, agent_base &impl)¶
-
reset_agent
(agent_base &impl)¶
-
~reset_agent
()¶
-
-
hpx::execution_base::agent_ref
-
namespace
-
namespace
util
-
namespace