hpx/components_base/component_type.hpp

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

Defines

HPX_DEFINE_GET_COMPONENT_TYPE(component)
HPX_DEFINE_GET_COMPONENT_TYPE_TEMPLATE(template_, component)
HPX_DEFINE_GET_COMPONENT_TYPE_STATIC(component, type)
HPX_DEFINE_COMPONENT_NAME(...)
HPX_DEFINE_COMPONENT_NAME_(...)
HPX_DEFINE_COMPONENT_NAME_2(Component, name)
HPX_DEFINE_COMPONENT_NAME_3(Component, name, base_name)
namespace hpx
namespace components

Typedefs

using component_deleter_type = void (*)(hpx::naming::gid_type const&, hpx::naming::address const&)

Enums

enum component_enum_type

Values:

component_invalid = naming::address::component_invalid
component_runtime_support = 0
component_plain_function = 1
component_base_lco = 2
component_base_lco_with_value_unmanaged = 3
component_base_lco_with_value = 4
component_latch = ((5 << 10) | component_base_lco_with_value)
component_barrier = ((6 << 10) | component_base_lco)
component_promise = ((7 << 10) | component_base_lco_with_value)
component_agas_locality_namespace = 8
component_agas_primary_namespace = 9
component_agas_component_namespace = 10
component_agas_symbol_namespace = 11
component_last
component_first_dynamic = component_last
component_upper_bound = 0xfffffL
enum factory_state_enum

Values:

factory_enabled = 0
factory_disabled = 1
factory_check = 2

Functions

bool &enabled(component_type type)
util::atomic_count &instance_count(component_type type)
component_deleter_type &deleter(component_type type)
bool enumerate_instance_counts(hpx::move_only_function<bool(component_type)> const &f)
const std::string get_component_type_name(component_type type)

Return the string representation for a given component type id.

constexpr component_type get_base_type(component_type t)

The lower short word of the component type is the type of the component exposing the actions.

constexpr component_type get_derived_type(component_type t)

The upper short word of the component is the actual component type.

constexpr component_type derived_component_type(component_type derived, component_type base)

A component derived from a base component exposing the actions needs to have a specially formatted component type.

constexpr bool types_are_compatible(component_type lhs, component_type rhs)

Verify the two given component types are matching (compatible)

template<typename Component, typename Enable = void>
constexpr char const *get_component_name()
template<typename Component, typename Enable = void>
constexpr const char *get_component_base_name()
template<typename Component>
component_type get_component_type()
template<typename Component>
void set_component_type(component_type type)
namespace naming

Functions

std::ostream &operator<<(std::ostream&, address const&)