12 #ifndef SST_CORE_PROFILE_PROFILETOOL_H 13 #define SST_CORE_PROFILE_PROFILETOOL_H 15 #include "sst/core/eli/elementinfo.h" 16 #include "sst/core/sst_types.h" 17 #include "sst/core/warnmacros.h" 35 SST_ELI_DECLARE_CTOR_EXTERN(
const std::string&,
Params&)
36 SST_ELI_DECLARE_INFO_EXTERN(
44 std::string getName() {
return name; }
46 virtual void outputData(FILE* fp) = 0;
49 const std::string name;
58 #define SST_ELI_REGISTER_PROFILETOOL_API(cls, ...) \ 59 SST_ELI_DECLARE_NEW_BASE(SST::Profile::ProfileTool,::cls) \ 60 SST_ELI_NEW_BASE_CTOR(const std::string&,##__VA_ARGS__) 62 #define SST_ELI_REGISTER_PROFILETOOL_DERIVED_API(cls, base, ...) \ 63 SST_ELI_DECLARE_NEW_BASE(::base,::cls) \ 64 SST_ELI_NEW_BASE_CTOR(const std::string&,##__VA_ARGS__) 66 #define SST_ELI_REGISTER_PROFILETOOL(cls, interface, lib, name, version, desc) \ 67 SST_ELI_REGISTER_DERIVED(::interface,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc) \ 68 SST_ELI_INTERFACE_INFO(#interface) 70 #endif // SST_CORE_SUBCOMPONENT_H
Definition: paramsInfo.h:40
Parameter store.
Definition: params.h:55
Definition: interfaceInfo.h:18