hpx/components_base/server/fixed_component_base.hpp#

Defined in header hpx/components_base/server/fixed_component_base.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 Component>
class fixed_component : public Component#

Public Types

using type_holder = Component#
using component_type = fixed_component<Component>#
using derived_type = component_type#
using heap_type = detail::fixed_heap#

Public Static Functions

static inline Component *create(std::size_t) noexcept#

The function create is used for allocation and initialization of instances of the derived components.

static inline void destroy(Component*, std::size_t = 1) noexcept#

The function destroy is used for destruction and de-allocation of instances of the derived components.

template<typename Component>
class fixed_component_base : public fixed_component_tag#

Public Types

using wrapped_type = this_component_type#
using base_type_holder = this_component_type#
using wrapping_type = fixed_component<this_component_type>#

Public Functions

inline constexpr fixed_component_base(std::uint64_t msb, std::uint64_t lsb) noexcept#
~fixed_component_base() = default#
inline void finalize() const#

finalize() will be called just before the instance gets destructed

inline naming::gid_type get_base_gid(naming::gid_type const &assign_gid = naming::invalid_gid) const#
inline hpx::id_type get_id() const#
inline hpx::id_type get_unmanaged_id() const#
inline void set_locality_id(std::uint32_t locality_id, error_code &ec = throws)#

Public Static Functions

static inline void mark_as_migrated() noexcept#
static inline void on_migrated() noexcept#

Private Types

using this_component_type = std::conditional_t<std::is_void_v<Component>, fixed_component_base, Component>#

Private Functions

inline constexpr Component &derived() noexcept#
inline constexpr Component const &derived() const noexcept#

Private Members

mutable naming::gid_type gid_#
std::uint64_t msb_#
std::uint64_t lsb_#