3 #ifndef COMMON_TEXTFILEPARSER_HPP
4 #define COMMON_TEXTFILEPARSER_HPP
22 virtual const char* what()
const throw() {
return message.c_str(); };
40 TextFileParser() : m_delimeters(
new char[3]) { strcpy(m_delimeters,
" \t"); };
57 virtual void parse(
const char* fname)
throw(
param_exception, std::ios_base::failure, std::length_error);
59 const char* delims()
const {
return m_delimeters; };
66 std::map<std::string, Parameter*> parameters;
98 const std::string&
get_name()
const {
return param_name; };
123 std::string param_name;
148 long lint = strtol(strint, &end, 10);
149 value =
static_cast<int>(lint);
150 if (end && strlen(end) != 0)
156 if (std::numeric_limits<int>::max() < lint) errno = ERANGE;
158 throw param_exception(
"Specified value is out of range for this parameter. (int type overflow).");
163 int get_value()
const {
return value; };
200 double get_value()
const {
237 const char* get_value()
const {
return value.c_str(); };
265 #endif // COMMON_TEXTFILEPARSER_HPP
Definition: textfile_parser.hpp:131
Int_Parameter(const char *name)
Definition: textfile_parser.hpp:136
void set_value(const char *name)
Definition: textfile_parser.hpp:193
Definition: textfile_parser.hpp:246
bool is_inited() const
Definition: textfile_parser.hpp:103
Definition: textfile_parser.hpp:19
Definition: textfile_parser.hpp:37
void set_value(const char *str)
Definition: textfile_parser.hpp:181
void set_value(const char *str)
Definition: textfile_parser.hpp:219
Definition: textfile_parser.hpp:174
const std::string & get_name() const
Definition: textfile_parser.hpp:98
Definition: textfile_parser.hpp:212
Definition: textfile_parser.hpp:90
void set_value(const char *name)
Definition: textfile_parser.hpp:232
virtual void register_parameter(Parameter *p)
virtual void set_value(const char *)=0
void set_value(const char *double_val)
void set_value(const char *strint)
Definition: textfile_parser.hpp:145
Parameter(const char *name, bool unique=true)
void set_delimeters(const char *delims)
bool is_unique() const
Definition: textfile_parser.hpp:107
virtual void parse(const char *fname)