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&)
36 SST_ELI_DECLARE_INFO_EXTERN(
71 void registerAsPrimaryComponent();
80 void primaryComponentDoNotEndSim();
89 void primaryComponentOKToEndSim();
102 #define SST_ELI_REGISTER_COMPONENT_BASE(cls) \
103 SST_ELI_DECLARE_NEW_BASE(SST::Component,::cls) \
104 SST_ELI_NEW_BASE_CTOR(SST::ComponentId_t,SST::Params&)
106 #define SST_ELI_REGISTER_COMPONENT_DERIVED_BASE(cls, base) \
107 SST_ELI_DECLARE_NEW_BASE(::base,::cls) \
108 SST_ELI_NEW_BASE_CTOR(SST::ComponentId_t,SST::Params&)
113 #define ELI_GET_COMPONENT_DEFAULT(x, arg1, ...) arg1
115 #define SST_ELI_REGISTER_COMPONENT(cls, lib, name, version, desc, cat, ...) \
116 SST_ELI_REGISTER_DERIVED(ELI_GET_COMPONENT_DEFAULT(,##__VA_ARGS__,SST::Component),cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
117 SST_ELI_CATEGORY_INFO(cat)
119 #endif // SST_CORE_COMPONENT_H
Definition: portsInfo.h:39
Main component object for the simulation.
Definition: component.h:30
Definition: statsInfo.h:39
Definition: paramsInfo.h:40
Main component object for the simulation.
Definition: baseComponent.h:51
Definition: subcompSlotInfo.h:39
Parameter store.
Definition: params.h:43
Definition: categoryInfo.h:25
SubComponent is a class loadable through the factory which allows dynamic functionality to be added t...
Definition: subcomponent.h:28