13 #ifndef SST_CORE_SUBCOMPONENT_H
14 #define SST_CORE_SUBCOMPONENT_H
16 #include "sst/core/warnmacros.h"
17 #include "sst/core/baseComponent.h"
18 #include "sst/core/module.h"
19 #include "sst/core/eli/elementinfo.h"
34 SST_ELI_DECLARE_CTOR_EXTERN(ComponentId_t)
35 SST_ELI_DECLARE_INFO_EXTERN(
48 virtual void init(
unsigned int UNUSED(phase))
override {}
51 virtual void setup( )
override { }
70 #define SST_ELI_REGISTER_SUBCOMPONENT_API(cls,...) \
71 SST_ELI_DECLARE_NEW_BASE(SST::SubComponent,::cls) \
72 SST_ELI_NEW_BASE_CTOR(SST::ComponentId_t,SST::Params&,##__VA_ARGS__)
74 #define SST_ELI_REGISTER_SUBCOMPONENT_DERIVED_API(cls,base,...) \
75 SST_ELI_DECLARE_NEW_BASE(::base,::cls) \
76 SST_ELI_NEW_BASE_CTOR(SST::ComponentId_t,SST::Params&,##__VA_ARGS__)
78 #define SST_ELI_REGISTER_SUBCOMPONENT_DERIVED(cls,lib,name,version,desc,interface) \
79 SST_ELI_REGISTER_DERIVED(::interface,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
80 SST_ELI_INTERFACE_INFO(#interface)
82 #endif // SST_CORE_SUBCOMPONENT_H
virtual void finish() override
Called after simulation completes, but before objects are destroyed.
Definition: subcomponent.h:54
Definition: portsInfo.h:41
Main component object for the simulation.
Definition: component.h:31
Definition: statsInfo.h:38
Module is a tag class used with the loadModule function.
Definition: module.h:22
Definition: paramsInfo.h:39
virtual void setup() override
Called after all components have been constructed and initialization has completed, but before simulation time has begun.
Definition: subcomponent.h:51
Main component object for the simulation.
Definition: baseComponent.h:52
Definition: subcompSlotInfo.h:39
virtual void init(unsigned int UNUSED(phase)) override
Used during the init phase.
Definition: subcomponent.h:48
SubComponent is a class loadable through the factory which allows dynamic functionality to be added t...
Definition: subcomponent.h:29
Definition: interfaceInfo.h:18