12 #ifndef SST_CORE_DEFAULTINFO_H
13 #define SST_CORE_DEFAULTINFO_H
22 friend class ModuleDocOldEli;
24 const std::string& getLibrary()
const {
27 const std::string& getDescription()
const {
30 const std::string& getName()
const {
33 const std::vector<int>& getVersion()
const {
36 const std::string& getCompileFile()
const {
39 const std::string& getCompileDate()
const {
42 const std::vector<int>& getELICompiledVersion()
const;
44 std::string getELIVersionString()
const;
46 void toString(std::ostream& os)
const;
48 template <
class XMLNode>
void outputXML(XMLNode* node)
const {
49 node->SetAttribute(
"Name", getName().c_str());
50 node->SetAttribute(
"Description", getDescription().c_str());
54 const std::string& name,
56 lib_(lib), name_(name),
57 desc_(T::ELI_getDescription()),
58 version_(T::ELI_getVersion()),
59 file_(T::ELI_getCompileFile()),
60 date_(T::ELI_getCompileDate())
74 std::vector<int> version_;
77 std::vector<int> compiled_;
84 #define SST_ELI_INSERT_COMPILE_INFO() \
85 static const std::string& ELI_getCompileDate() { \
86 static std::string time = __TIME__; \
87 static std::string date = __DATE__; \
88 static std::string date_time = date + " " + time; \
91 static const std::string ELI_getCompileFile() { \
95 #define SST_ELI_DEFAULT_INFO(lib,name,version,desc) \
96 SST_ELI_INSERT_COMPILE_INFO() \
97 static constexpr unsigned majorVersion() { \
98 return SST::SST_ELI_getMajorNumberFromVersion(version); \
100 static constexpr unsigned minorVersion() { \
101 return SST::SST_ELI_getMinorNumberFromVersion(version); \
103 static constexpr unsigned tertiaryVersion() { \
104 return SST::SST_ELI_getTertiaryNumberFromVersion(version); \
106 static const std::vector<int>& ELI_getVersion() { \
107 static std::vector<int> var = version; \
110 static const char* ELI_getLibrary() { \
113 static const char* ELI_getName() { \
116 static const char* ELI_getDescription() { \
120 #define SST_ELI_ELEMENT_VERSION(...) {__VA_ARGS__}
Definition: defaultInfo.h:21