hpx/runtime_configuration/component_registry_base.hpp

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

Defines

HPX_REGISTER_COMPONENT_REGISTRY(RegistryType, componentname)

This macro is used to register the given component factory with Hpx.Plugin. This macro has to be used for each of the components.

HPX_REGISTER_COMPONENT_REGISTRY_DYNAMIC(RegistryType, componentname)
HPX_REGISTER_REGISTRY_MODULE()

This macro is used to define the required Hpx.Plugin entry points. This macro has to be used in exactly one compilation unit of a component module.

HPX_REGISTER_REGISTRY_MODULE_DYNAMIC()
namespace hpx
namespace components
struct component_registry_base
#include <component_registry_base.hpp>

The component_registry_base has to be used as a base class for all component registries.

Public Functions

virtual ~component_registry_base()
virtual bool get_component_info(std::vector<std::string> &fillini, std::string const &filepath, bool is_static = false) = 0

Return the ini-information for all contained components.

Return

Returns true if the parameter fillini has been successfully initialized with the registry data of all implemented in this module.

Parameters
  • fillini: [in, out] The module is expected to fill this vector with the ini-information (one line per vector element) for all components implemented in this module.

virtual void register_component_type() = 0

Return the unique identifier of the component type this factory is responsible for.

Return

Returns the unique identifier of the component type this factory instance is responsible for. This function throws on any error.

Parameters
  • locality: [in] The id of the locality this factory is responsible for.

  • agas_client: [in] The AGAS client to use for component id registration (if needed).