18# include <boost/variant.hpp>
23#include "../Utils/Types.H"
24#include "../Utils/Vec3.H"
44 using keyword = boost::variant<int,
49 std::vector<std::string> >;
59 std::vector<std::string> >;
98 void get(
const std::string& name,
int& val)
const;
109 void get(
const std::string& name,
Real& val)
const;
119 void get(
const std::string& name, std::string& val)
const;
131 void get(
const std::string& name, std::vector<int>& val)
const;
143 void get(
const std::string& name, std::vector<Real>& val)
const;
155 void get(
const std::string& name, std::vector<std::string>& val)
const;
168 void get(
const std::string& name,
Vec3<T>& val)
const;
182 template <
class T>
bool query(
const std::string &name, T& val)
const;
209 void parseFile(std::ifstream ¶mFile);
219 void parseError(
const std::string& line)
const;
230 void typeError(
const std::string& key)
const;
255 std::map<
const std::string,
257 mutable std::map<
const std::string,
Class to parse the criptic input deck.
Definition ParmParser.H:37
void warnUnusedKeywords() const
Issue warning if any keywords have not been accessed.
Definition ParmParser.cpp:342
void missingKeyError(const std::string &key) const
Error function invoked if a required keyword is missing.
Definition ParmParser.cpp:521
void get(const std::string &name, int &val) const
Return an integer-valued keyword.
Definition ParmParser.cpp:129
bool restart
Definition ParmParser.H:262
bool query(const std::string &name, T &val) const
Return a keyword, or return false if not available.
Definition ParmParser.cpp:299
std::map< const std::string, keyword > keywords
Definition ParmParser.H:256
void parseError(const std::string &line) const
Error function invoked if input deck fails to parse.
Definition ParmParser.cpp:508
std::variant< int, Real, std::string, std::vector< int >, std::vector< Real >, std::vector< std::string > > keyword
Type corresponding to input deck keywords.
Definition ParmParser.H:59
const std::string & restartFile() const
Name of restart file.
Definition ParmParser.H:83
void dumpParams(std::ostream &outFile)
Write out full list of input parameters.
Definition ParmParser.cpp:322
std::map< const std::string, bool > accessed
Definition ParmParser.H:258
void printUsage()
Print out usage information.
Definition ParmParser.cpp:360
void typeError(const std::string &key) const
Error function invoked if a keyword has an invalid type.
Definition ParmParser.cpp:513
bool isRestart() const
Returns whether this run is a restart.
Definition ParmParser.H:77
void parseFile(std::ifstream ¶mFile)
The file parsing function.
Definition ParmParser.cpp:376
std::string restartFileName
Definition ParmParser.H:261
Class that represents a mathematical vector.
Definition Vec3.H:32
The primary namespace for criptic objects.
Definition AdvancePacket.H:25
double Real
Definition Types.H:38