``` template class Agent_Component : hpx::components::component_base> { } #define REGISTER_AGENT_COMPONENT(type, ...) \ typedef ::hpx::components::component> \ HPX_PP_CAT(__Agent_Component_, HPX_PP_CAT(type, __VA_ARGS__)); \ HPX_REGISTER_COMPONENT(HPX_PP_CAT(__Agent_Component_, HPX_PP_CAT(type, __VA_ARGS__))) \ ```