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();
101 #define SST_ELI_REGISTER_COMPONENT_BASE(cls) \
102 SST_ELI_DECLARE_NEW_BASE(SST::Component,::cls) \
103 SST_ELI_NEW_BASE_CTOR(SST::ComponentId_t,SST::Params&)
105 #define SST_ELI_REGISTER_COMPONENT_DERIVED_BASE(cls, base) \
106 SST_ELI_DECLARE_NEW_BASE(::base,::cls) \
107 SST_ELI_NEW_BASE_CTOR(SST::ComponentId_t,SST::Params&)
112 #define ELI_GET_COMPONENT_DEFAULT(x, arg1, ...) arg1
114 #define SST_ELI_REGISTER_COMPONENT(cls, lib, name, version, desc, cat, ...) \
115 SST_ELI_REGISTER_DERIVED(ELI_GET_COMPONENT_DEFAULT(,##__VA_ARGS__,SST::Component),cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
116 SST_ELI_CATEGORY_INFO(cat)
118 #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:49
Definition: subcompSlotInfo.h:39
Parameter store.
Definition: params.h:55
Definition: categoryInfo.h:25
SubComponent is a class loadable through the factory which allows dynamic functionality to be added t...
Definition: subcomponent.h:28