1 #ifndef SST_CORE_DEFAULTINFO_H
2 #define SST_CORE_DEFAULTINFO_H
11 friend class ModuleDocOldEli;
13 const std::string& getLibrary()
const {
16 const std::string& getDescription()
const {
19 const std::string& getName()
const {
22 const std::vector<int>& getVersion()
const {
25 const std::string& getCompileFile()
const {
28 const std::string& getCompileDate()
const {
31 const std::vector<int>& getELICompiledVersion()
const;
33 std::string getELIVersionString()
const;
35 void toString(std::ostream& os)
const;
37 template <
class XMLNode>
void outputXML(XMLNode* node)
const {
38 node->SetAttribute(
"Name", getName().c_str());
39 node->SetAttribute(
"Description", getDescription().c_str());
43 const std::string& name,
45 lib_(lib), name_(name),
46 desc_(T::ELI_getDescription()),
47 version_(T::ELI_getVersion()),
48 file_(T::ELI_getCompileFile()),
49 date_(T::ELI_getCompileDate())
63 std::vector<int> version_;
66 std::vector<int> compiled_;
73 #define SST_ELI_INSERT_COMPILE_INFO() \
74 static const std::string& ELI_getCompileDate() { \
75 static std::string time = __TIME__; \
76 static std::string date = __DATE__; \
77 static std::string date_time = date + " " + time; \
80 static const std::string ELI_getCompileFile() { \
84 #define SST_ELI_DEFAULT_INFO(lib,name,version,desc) \
85 SST_ELI_INSERT_COMPILE_INFO() \
86 static constexpr unsigned majorVersion() { \
87 return SST::SST_ELI_getMajorNumberFromVersion(version); \
89 static constexpr unsigned minorVersion() { \
90 return SST::SST_ELI_getMinorNumberFromVersion(version); \
92 static constexpr unsigned tertiaryVersion() { \
93 return SST::SST_ELI_getTertiaryNumberFromVersion(version); \
95 static const std::vector<int>& ELI_getVersion() { \
96 static std::vector<int> var = version; \
99 static const char* ELI_getLibrary() { \
102 static const char* ELI_getName() { \
105 static const char* ELI_getDescription() { \
109 #define SST_ELI_ELEMENT_VERSION(...) {__VA_ARGS__}
Definition: defaultInfo.h:10