hpx/components_base/server/locking_hook.hpp¶
See Public API for a list of names and headers that are part of the public HPX API.
-
namespace
hpx
-
namespace
components
-
template<typename
BaseComponent
, typenameMutex
= hpx::spinlock>
structlocking_hook
: public BaseComponent¶ - #include <locking_hook.hpp>
This hook can be inserted into the derivation chain of any component allowing to automatically lock all action invocations for any instance of the given component.
Public Types
-
template<>
usingdecorates_action
= void¶
Public Functions
-
locking_hook
()¶
-
template<typename
T
, typename ...Ts
, typenameEnable
= std::enable_if_t<!std::is_same_v<std::decay_t<T>, locking_hook>>>locking_hook
(T &&t, Ts&&... ts)¶
-
locking_hook
(locking_hook const &rhs)¶
-
locking_hook
(locking_hook &&rhs)¶
-
locking_hook &
operator=
(locking_hook const &rhs)¶
-
locking_hook &
operator=
(locking_hook &&rhs)¶
Public Static Functions
-
template<typename
F
>
static threads::thread_function_typedecorate_action
(naming::address_type lva, F &&f)¶
Protected Types
Protected Functions
Private Members
-
mutex_type
mtx_
¶
-
struct
decorate_wrapper
¶
-
struct
undecorate_wrapper
¶ -
Public Members
-
template<>
yield_decorator_typeyield_decorator_
¶
-
template<>
-
template<>
-
template<typename
-
namespace