1 #ifndef DUNE_FEM_IO_PARAMETER_READER_HH 2 #define DUNE_FEM_IO_PARAMETER_READER_HH 23 template<
class Parameter >
37 bool exists (
const std::string &key )
const {
return static_cast< bool >(
parameter_( key,
nullptr ) ); }
49 void get (
const std::string &key, T &value )
const 51 const std::string *
string =
parameter_( key,
nullptr );
69 void get (
const std::string &key,
const T &defaultValue, T &value )
const 72 const std::string *
string =
parameter_( key, &defaultString );
88 void get (
const std::string &key,
const char* defaultValue, std::string &value )
const 90 const std::string defaultString( defaultValue );
91 const std::string *
string =
parameter_( key, &defaultString );
107 template<
class T,
class Val
idator >
108 void getValid (
const std::string &key,
const Validator &validator, T &value )
const 110 const std::string *
string =
parameter_( key,
nullptr );
128 template<
class T,
class Val
idator >
129 void getValid (
const std::string &key,
const T &defaultValue,
const Validator &validator, T &value )
const 132 const std::string *
string =
parameter_( key, &defaultString );
168 T
getValue (
const std::string &key,
const T &defaultValue )
const 170 T value = defaultValue;
171 get( key, defaultValue, value );
186 template<
class T,
class Val
idator >
187 T
getValidValue (
const std::string &key,
const Validator &validator )
const 206 template<
class T,
class Val
idator >
207 T
getValidValue (
const std::string &key,
const T &defaultValue,
const Validator &validator )
const 210 getValid( key, defaultValue, validator, value );
215 int getEnum (
const std::string &key,
const std::string (&values)[ n ] )
const 217 const std::string *
string =
parameter_( key,
nullptr );
220 return getEnumeration( key, *
string, values );
224 int getEnum (
const std::string &key,
const std::string (&values)[ n ],
int defaultValue )
const 226 const std::string *
string =
parameter_( key, &values[ defaultValue ] );
227 return getEnumeration( key, *
string, values );
232 static int getEnumeration (
const std::string &key,
const std::string& value,
const std::string (&values)[ n ] )
234 for(
int i = 0; i < n; ++i )
236 if( value == values[ i ] )
243 if( (j < 0) || (j >= n) )
245 std::cerr << std::endl <<
"Parameter '" << key <<
"' invalid." << std::endl;
246 std::cerr <<
"Valid values are: ";
247 for(
int i = 0; i < n; ++i )
248 std::cerr << values[ i ] << (i < n-1 ?
", " :
"");
249 std::cerr << std::endl << std::endl;
270 #endif // #ifndef DUNE_FEM_IO_PARAMETER_READER_HH
BasicParameterReader(Parameter parameter=Parameter())
Definition: reader.hh:26
BasicParameterReader< std::function< const std::string *(const std::string &, const std::string *) > > ParameterReader
Definition: reader.hh:264
Container for User Specified Parameters.
Definition: io/parameter.hh:187
Definition: io/parameter/exceptions.hh:24
bool exists(const std::string &key) const
check, whether a parameter is defined
Definition: reader.hh:37
int getEnum(const std::string &key, const std::string(&values)[n]) const
Definition: reader.hh:215
int getEnum(const std::string &key, const std::string(&values)[n], int defaultValue) const
Definition: reader.hh:224
T getValue(const std::string &key, const T &defaultValue) const
get optional parameter
Definition: reader.hh:168
void getValid(const std::string &key, const T &defaultValue, const Validator &validator, T &value) const
get optional parameter
Definition: reader.hh:129
Definition: coordinate.hh:4
T getValidValue(const std::string &key, const T &defaultValue, const Validator &validator) const
get optional parameter
Definition: reader.hh:207
T getValidValue(const std::string &key, const Validator &validator) const
get optional parameter
Definition: reader.hh:187
void move(ArrayInterface< T > &array, const unsigned int oldOffset, const unsigned int newOffset, const unsigned int length)
Definition: array_inline.hh:38
T getValue(const std::string &key) const
get mandatory parameter
Definition: reader.hh:149
Definition: io/parameter/exceptions.hh:15
Parameter parameter_
Definition: reader.hh:256
void getValid(const std::string &key, const Validator &validator, T &value) const
get mandatory parameter
Definition: reader.hh:108
static std::string toString(const T &value)
Definition: parser.hh:35