12#ifndef SST_CORE_ELI_DEFAULTINFO_H
13#define SST_CORE_ELI_DEFAULTINFO_H
23 friend class ModuleDocOldEli;
26 const std::string& getLibrary()
const {
return lib_; }
27 const std::string& getDescription()
const {
return desc_; }
28 const std::string& getName()
const {
return name_; }
29 const std::vector<int>& getVersion()
const {
return version_; }
30 const std::string& getCompileFile()
const {
return file_; }
31 const std::string& getCompileDate()
const {
return date_; }
32 const std::vector<int>& getELICompiledVersion()
const;
34 std::string getELIVersionString()
const;
36 void toString(std::ostream& os)
const;
38 template <
class XMLNode>
39 void outputXML(XMLNode* node)
const
41 node->SetAttribute(
"Name", getName().c_str());
42 node->SetAttribute(
"Description", getDescription().c_str());
49 desc_(T::ELI_getDescription()),
50 version_(T::ELI_getVersion()),
51 file_(T::ELI_getCompileFile()),
52 date_(T::ELI_getCompileDate())
64 std::vector<int> version_;
67 std::vector<int> compiled_;
73#define SST_ELI_INSERT_COMPILE_INFO() \
74 static const std::string& ELI_getCompileDate() \
76 static std::string time = __TIME__; \
77 static std::string date = __DATE__; \
78 static std::string date_time = date + " " + time; \
81 static const std::string ELI_getCompileFile() { return __FILE__; }
83#define SST_ELI_DEFAULT_INFO(lib, name, version, desc) \
84 SST_ELI_INSERT_COMPILE_INFO() \
85 static constexpr unsigned majorVersion() { return SST::SST_ELI_getMajorNumberFromVersion(version); } \
86 static constexpr unsigned minorVersion() { return SST::SST_ELI_getMinorNumberFromVersion(version); } \
87 static constexpr unsigned tertiaryVersion() { return SST::SST_ELI_getTertiaryNumberFromVersion(version); } \
88 static const std::vector<int>& ELI_getVersion() \
90 static std::vector<int> var = version; \
93 static const char* ELI_getLibrary() { return lib; } \
94 static const char* ELI_getName() { return name; } \
95 static const char* ELI_getDescription() { return desc; }
97#define SST_ELI_ELEMENT_VERSION(...) \
Definition: defaultInfo.h:22