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;
87 const std::string key;
88 const std::string description;
89 const std::string units;
105 template <
typename T>
void add(
UValue<T> parameter,
107 const char* description,
110 template <
typename T>
void add(
UValue<std::map<std::string, T>> parameter,
112 const char* description,
115 template <
typename T>
void add(
UValue<T> parameter,
118 const char* description,
122 template <
typename T>
123 void addPrefix(
const std::string prefix,
127 void load(std::string paramFile);
132 std::string getDir();
141 std::vector<std::shared_ptr<PrefixStore>>
prefixes;
143 void populateMaps(boost::program_options::variables_map & vm);
146 void writeParametersFile(
const std::string fileName);
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 Advanced Simulation Library.
static ParametersManager * current
std::string parametersFileDirectory
boost::program_options::options_description parametersOptions
Updatable value. This class stores value and its TimeStamp.
std::vector< std::shared_ptr< PrefixStore > > prefixes
Parameter(const char *key_, const char *description_, const char *units_="")
std::string parametersFileStr
Content of the parameters file.