13 #ifndef SST_CORE_MODULE_H
14 #define SST_CORE_MODULE_H
16 #include <sst/core/eli/elementinfo.h>
24 SST_ELI_DECLARE_BASE(
Module)
26 SST_ELI_DECLARE_CTORS(
37 #define SST_ELI_REGISTER_MODULE(cls,lib,name,version,desc,interface) \
38 SST_ELI_REGISTER_DERIVED(SST::Module,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
39 SST_ELI_INTERFACE_INFO(interface)
44 #define SST_ELI_REGISTER_MODULE_API(cls,...) \
45 SST_ELI_DECLARE_NEW_BASE(SST::Module,::cls) \
46 SST_ELI_NEW_BASE_CTOR(Params&,##__VA_ARGS__)
48 #define SST_ELI_REGISTER_MODULE_DERIVED_API(cls,base,...) \
49 SST_ELI_DECLARE_NEW_BASE(::base,::cls) \
50 SST_ELI_NEW_BASE_CTOR(Params&,##__VA_ARGS__)
52 #define SST_ELI_REGISTER_MODULE_DERIVED(cls,lib,name,version,desc,interface) \
53 SST_ELI_REGISTER_DERIVED(::interface,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
54 SST_ELI_INTERFACE_INFO(#interface)
57 #endif // SST_CORE_ACTION_H
Main component object for the simulation.
Definition: component.h:32
Module is a tag class used with the loadModule function.
Definition: module.h:22
Definition: paramsInfo.h:28
Parameter store.
Definition: params.h:45