12 #ifndef SST_CORE_SST_INFO_H
13 #define SST_CORE_SST_INFO_H
15 #include "sst/core/configShared.h"
16 #include "sst/core/eli/elementinfo.h"
22 #include "tinyxml/tinyxml.h"
29 #define CFG_OUTPUTHUMAN 0x00000001
30 #define CFG_OUTPUTXML 0x00000002
31 #define CFG_VERBOSE 0x00000004
42 typedef std::multimap<std::string, std::string> FilterMap_t;
50 std::set<std::string> res;
51 for (
auto& i : m_filters )
67 bool processAllElements()
const {
return m_filters.empty(); }
68 bool doVerbose()
const {
return m_optionBits & CFG_VERBOSE; }
75 void addFilter(
const std::string& name);
77 int setPositionalArg(
int UNUSED(num),
const std::string& arg)
84 int printHelp(
const std::string& UNUSED(arg))
90 int outputVersion(
const std::string& UNUSED(arg))
92 fprintf(stderr,
"SST Release Version %s\n", PACKAGE_VERSION);
96 int setEnableDebug(
const std::string& UNUSED(arg))
98 m_debugEnabled =
true;
102 int setNoDisplay(
const std::string& UNUSED(arg))
104 m_optionBits &= ~CFG_OUTPUTHUMAN;
108 int setXML(
const std::string& UNUSED(arg))
110 m_optionBits |= CFG_OUTPUTXML;
114 int setXMLOutput(
const std::string& UNUSED(arg))
120 int setLibs(
const std::string& UNUSED(arg))
126 int setQuiet(
const std::string& UNUSED(arg))
128 m_optionBits &= ~CFG_VERBOSE;
134 std::vector<std::string> m_elementsToProcess;
135 unsigned int m_optionBits;
136 std::string m_XMLFilePath;
138 FilterMap_t m_filters;
169 void outputXML(
int Index, TiXmlNode* XMLParentElement);
171 template <
class BaseType>
173 template <
class BaseType>
176 std::string getLibraryDescription() {
return ""; }
int printUsage()
Called to print the help/usage message.
Definition: configBase.cc:141
Class to contain SST Simulation Configuration variables.
Definition: configShared.h:34
The SSTInfo Configuration class.
Definition: sstinfo.h:40
std::string & getXMLFilePath()
Return the user defined path the XML File.
Definition: sstinfo.h:63
unsigned int getOptionBits()
Return the bit field of various command line options enabled.
Definition: sstinfo.h:60
bool debugEnabled() const
Is debugging output enabled?
Definition: sstinfo.h:66
std::set< std::string > getElementsToProcessArray()
Return the list of elements to be processed.
Definition: sstinfo.h:48
std::string getUsagePrelude() override
Called to get the prelude for the help/usage message.
Definition: sstinfo.cc:291
SSTInfoConfig(bool suppress_print)
Create a new SSTInfo configuration and parse the Command Line.
Definition: sstinfo.cc:249
FilterMap_t & getFilterMap()
Return the filter map.
Definition: sstinfo.h:57
The SSTInfo representation of ElementLibraryInfo object.
Definition: sstinfo.h:148
std::string getLibraryName()
Return the Name of the Library.
Definition: sstinfo.h:158
SSTLibraryInfo(const std::string &name)
Create a new SSTInfoElement_LibraryInfo object.
Definition: sstinfo.h:154
void outputHumanReadable(std::ostream &os, int LibIndex)
Output the Library Information.
Definition: sstinfo.cc:451
void outputXML(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Library.
Definition: sstinfo.cc:489