12 #ifndef SST_CORE_ELI_DEFAULTINFO_H 13 #define SST_CORE_ELI_DEFAULTINFO_H 15 #include "sst/core/eli/elibase.h" 24 friend class ModuleDocOldEli;
27 const std::string& getLibrary()
const {
return lib_; }
28 const std::string& getDescription()
const {
return desc_; }
29 const std::string& getName()
const {
return name_; }
30 const std::vector<int>& getVersion()
const {
return version_; }
31 const std::string& getCompileFile()
const {
return file_; }
32 const std::vector<int>& getELICompiledVersion()
const;
33 const std::string& getAlias()
const {
return alias_; }
35 std::string getELIVersionString()
const;
37 void toString(std::ostream& os)
const;
39 template <
class XMLNode>
40 void outputXML(XMLNode* node)
const 42 if ( !getAlias().empty() ) node->SetAttribute(
"Alias", getAlias().c_str());
43 node->SetAttribute(
"Name", getName().c_str());
44 node->SetAttribute(
"Description", getDescription().c_str());
51 desc_(T::ELI_getDescription()),
52 version_(T::ELI_getVersion()),
53 file_(T::ELI_getCompileFile()),
67 std::vector<int> version_;
69 std::vector<int> compiled_;
75 #define SST_ELI_INSERT_COMPILE_INFO() \ 76 static const std::string ELI_getCompileFile() \ 81 #define SST_ELI_DEFAULT_INFO(lib, name, version, desc) \ 82 SST_ELI_INSERT_COMPILE_INFO() \ 83 static constexpr unsigned majorVersion() \ 85 return SST::SST_ELI_getMajorNumberFromVersion(version); \ 87 static constexpr unsigned minorVersion() \ 89 return SST::SST_ELI_getMinorNumberFromVersion(version); \ 91 static constexpr unsigned tertiaryVersion() \ 93 return SST::SST_ELI_getTertiaryNumberFromVersion(version); \ 95 static const std::vector<int>& ELI_getVersion() \ 97 static std::vector<int> var = version; \ 100 static const char* ELI_getLibrary() \ 104 static const char* ELI_getName() \ 108 static const char* ELI_getDescription() \ 113 #define SST_ELI_ELEMENT_VERSION(...) { __VA_ARGS__ } 115 #define SST_ELI_REGISTER_ALIAS(alias) \ 116 static std::string ELI_getAlias() \ 121 #endif // SST_CORE_ELI_DEFAULTINFO_H Definition: attributeInfo.h:22
Definition: elibase.h:152
Definition: defaultInfo.h:22