12 #ifndef SST_CORE_COMPONENT_H
13 #define SST_CORE_COMPONENT_H
15 #include "sst/core/baseComponent.h"
16 #include "sst/core/eli/elementinfo.h"
17 #include "sst/core/sst_types.h"
21 using namespace SST::Statistics;
35 SST_ELI_DECLARE_CTOR_EXTERN(ComponentId_t,
SST::Params&)
38 SST_ELI_DECLARE_INFO_EXTERN(
39 ELI::ProvidesCategory,
42 ELI::ProvidesSubComponentSlots,
44 ELI::ProvidesProfilePoints,
45 ELI::ProvidesAttributes)
75 void registerAsPrimaryComponent();
84 void primaryComponentDoNotEndSim();
93 void primaryComponentOKToEndSim();
105 #define SST_ELI_REGISTER_COMPONENT_BASE(cls) \
106 SST_ELI_DECLARE_NEW_BASE(SST::Component,::cls) \
107 SST_ELI_NEW_BASE_CTOR(SST::ComponentId_t,SST::Params&)
109 #define SST_ELI_REGISTER_COMPONENT_DERIVED_BASE(cls, base) \
110 SST_ELI_DECLARE_NEW_BASE(::base,::cls) \
111 SST_ELI_NEW_BASE_CTOR(SST::ComponentId_t,SST::Params&)
116 #define ELI_GET_COMPONENT_DEFAULT(x, arg1, ...) arg1
118 #define SST_ELI_REGISTER_COMPONENT(cls, lib, name, version, desc, cat, ...) \
119 SST_ELI_REGISTER_DERIVED(ELI_GET_COMPONENT_DEFAULT(,##__VA_ARGS__,SST::Component),cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
120 SST_ELI_CATEGORY_INFO(cat)
Main component object for the simulation.
Definition: baseComponent.h:52
Main component object for the simulation.
Definition: component.h:31
Parameter store.
Definition: params.h:56
SubComponent is a class loadable through the factory which allows dynamic functionality to be added t...
Definition: subcomponent.h:29