12 #ifndef SST_CORE_MODULE_H
13 #define SST_CORE_MODULE_H
15 #include "sst/core/eli/elementinfo.h"
24 SST_ELI_DECLARE_BASE(
Module)
38 static constexpr
int fake_deprecated_function() __attribute__((
39 deprecated(
"SST_ELI_REGISTER_MODULE_DERIVED is deprecated and will be removed in SST 14. Please use the "
40 "SST_ELI_REGISTER_MODULE macro")))
49 #define SST_ELI_REGISTER_MODULE(cls, lib, name, version, desc, interface) \
50 SST_ELI_REGISTER_DERIVED(::interface,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
51 SST_ELI_INTERFACE_INFO(#interface)
55 #define SST_ELI_REGISTER_MODULE_API(cls, ...) \
56 SST_ELI_DECLARE_NEW_BASE(SST::Module,::cls) \
57 SST_ELI_NEW_BASE_CTOR(SST::Params&,##__VA_ARGS__)
59 #define SST_ELI_REGISTER_MODULE_DERIVED_API(cls, base, ...) \
60 SST_ELI_DECLARE_NEW_BASE(::base,::cls) \
61 SST_ELI_NEW_BASE_CTOR(SST::Params&,##__VA_ARGS__)
63 #define SST_ELI_REGISTER_MODULE_DERIVED(cls, lib, name, version, desc, interface) \
64 static const int SST_ELI_FAKE_VALUE = SST::MODULE::sst_eli_fake_deprecated_class::fake_deprecated_function(); \
65 SST_ELI_REGISTER_DERIVED(::interface,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \
66 SST_ELI_INTERFACE_INFO(#interface)
Main component object for the simulation.
Definition: component.h:31
Definition: paramsInfo.h:41
Module is a tag class used with the loadModule function.
Definition: module.h:22
Parameter store.
Definition: params.h:56