hpx/components_base/server/managed_component_base.hpp#

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

template<>
struct hpx::components::detail_adl_barrier::init<traits::construct_with_back_ptr>#

Public Static Functions

template<typename Component, typename Managed>
static inline constexpr void call(Component*, Managed*) noexcept#
template<typename Component, typename Managed, typename ...Ts>
static inline void call_new(Component *&component, Managed *this_, Ts&&... vs)#
template<>
struct hpx::components::detail_adl_barrier::init<traits::construct_without_back_ptr>#

Public Static Functions

template<typename Component, typename Managed>
static inline void call(Component *component, Managed *this_)#
template<typename Component, typename Managed, typename ...Ts>
static inline void call_new(Component *&component, Managed *this_, Ts&&... vs)#
template<>
struct hpx::components::detail_adl_barrier::destroy_backptr<traits::managed_object_is_lifetime_controlled>#

Public Static Functions

template<typename BackPtr>
static inline void call(BackPtr *back_ptr)#
template<>
struct hpx::components::detail_adl_barrier::destroy_backptr<traits::managed_object_controls_lifetime>#

Public Static Functions

template<typename BackPtr>
static inline constexpr void call(BackPtr*) noexcept#
template<>
struct hpx::components::detail_adl_barrier::manage_lifetime<traits::managed_object_is_lifetime_controlled>#

Public Static Functions

template<typename Component>
static inline constexpr void call(Component*) noexcept#
template<typename Component>
static inline void addref(Component *component) noexcept#
template<typename Component>
static inline void release(Component *component) noexcept#
template<>
struct hpx::components::detail_adl_barrier::manage_lifetime<traits::managed_object_controls_lifetime>#

Public Static Functions

template<typename Component>
static inline void call(Component *component) noexcept(noexcept(component->finalize()))#
template<typename Component>
static inline constexpr void addref(Component*) noexcept#
template<typename Component>
static inline constexpr void release(Component*) noexcept#
namespace hpx
namespace components

Functions

template<typename Component, typename Derived>
void intrusive_ptr_add_ref(managed_component<Component, Derived> *p) noexcept#
template<typename Component, typename Derived>
void intrusive_ptr_release(managed_component<Component, Derived> *p) noexcept#
template<typename Component, typename Derived>
class managed_component
#include <managed_component_base.hpp>
template<typename Component, typename Wrapper, typename CtorPolicy, typename DtorPolicy>
class managed_component_base
namespace detail_adl_barrier#
template<typename DtorTag>
struct destroy_backptr#
template<> managed_object_controls_lifetime >

Public Static Functions

template<typename BackPtr>
static inline constexpr void call(BackPtr*) noexcept#
template<> managed_object_is_lifetime_controlled >

Public Static Functions

template<typename BackPtr>
static inline void call(BackPtr *back_ptr)
template<typename BackPtrTag>
struct init#
template<> construct_with_back_ptr >

Public Static Functions

template<typename Component, typename Managed>
static inline constexpr void call(Component*, Managed*) noexcept#
template<typename Component, typename Managed, typename ...Ts>
static inline void call_new(Component *&component, Managed *this_, Ts&&... vs)#
template<> construct_without_back_ptr >

Public Static Functions

template<typename Component, typename Managed>
static inline void call(Component *component, Managed *this_)
template<typename Component, typename Managed, typename ...Ts>
static inline void call_new(Component *&component, Managed *this_, Ts&&... vs)
template<typename DtorTag>
struct manage_lifetime#
template<> managed_object_controls_lifetime >

Public Static Functions

template<typename Component>
static inline void call(Component *component) noexcept(noexcept(component->finalize()))#
template<typename Component>
static inline constexpr void addref(Component*) noexcept#
template<typename Component>
static inline constexpr void release(Component*) noexcept#
template<> managed_object_is_lifetime_controlled >

Public Static Functions

template<typename Component>
static inline constexpr void call(Component*) noexcept
template<typename Component>
static inline void addref(Component *component) noexcept
template<typename Component>
static inline void release(Component *component) noexcept