24 #ifndef ASLPARAMETERSMANAGER_H 25 #define ASLPARAMETERSMANAGER_H 28 #include <boost/program_options.hpp> 62 const char* description_,
63 const char* units_ =
"");
79 const char* description_,
80 const char* units_ =
"");
81 inline const T &
v()
const;
83 inline std::shared_ptr<T>
p();
87 const std::string key;
88 const std::string description;
89 const std::string units;
107 const char* description,
110 template <
typename T>
void add(
UValue<std::map<std::string, T>> parameter,
112 const char* description,
118 const char* description,
122 template <
typename T>
124 std::shared_ptr<std::map<std::string, T>> destinationMap);
127 void load(std::string paramFile);
141 std::vector<std::shared_ptr<PrefixStore>>
prefixes;
143 void populateMaps(boost::program_options::variables_map & vm);
162 const char* applicationVersion_);
166 void load(
int argc,
char* argv[]);
171 std::string applicationName;
172 std::string applicationVersion;
181 return parameter.v();
187 return parameter.v();
196 #endif // ASLPARAMETERSMANAGER_H ApplicationParametersManager(const char *applicationName_, const char *applicationVersion_)
void enable()
Enables parameter loader.
Advanced Simulation Library.
static ParametersManager * current
void populateMaps(boost::program_options::variables_map &vm)
std::string parametersFileDirectory
boost::program_options::options_description parametersOptions
void addPrefix(const std::string prefix, std::shared_ptr< std::map< std::string, T >> destinationMap)
Updatable value. This class stores value and its TimeStamp.
std::vector< std::shared_ptr< PrefixStore > > prefixes
void writeParametersFile(const std::string fileName)
Parameter(const char *key_, const char *description_, const char *units_="")
void load(std::string paramFile)
std::string parametersFileStr
Content of the parameters file.
void load(int argc, char *argv[])
void add(UValue< T > parameter, const char *key, const char *description, const char *units)
Adds a Parameter to ParametersManager.