1 #ifndef DUNE_FEM_PARAMETER_HH 2 #define DUNE_FEM_PARAMETER_HH 257 static void get (
const std::string &key, T &value )
272 static void get (
const std::string &key,
const T &defaultValue, T &value )
286 static void get (
const std::string &key,
const char* defaultValue, std::string &value )
300 template<
class T,
class Val
idator >
301 static void getValid (
const std::string &key,
const Validator &validator, T &value )
316 template<
class T,
class Val
idator >
317 static void getValid (
const std::string &key,
const T &defaultValue,
const Validator &validator, T &value )
348 static T
getValue (
const std::string &key,
const T &defaultValue )
363 template<
class T,
class Val
idator >
364 static T
getValidValue (
const std::string &key,
const Validator &validator )
381 template<
class T,
class Val
idator >
382 static T
getValidValue (
const std::string &key,
const T &defaultValue,
const Validator &validator )
388 static int getEnum (
const std::string &key,
const std::string (&values)[ n ] )
394 static int getEnum (
const std::string &key,
const std::string (&values)[ n ],
int defaultValue )
461 static void write (
const std::string &filename,
const std::string &fileextension =
"",
bool writeAll =
true );
476 static void write ( std::ostream &out,
bool writeAll =
true ) {
return container().
write( out, writeAll ); }
496 static void write (
const std::string &
path,
const std::string &filename,
const std::string &fileextension,
bool writeAll =
true );
509 if( path[ path.length()-1 ] !=
'/' )
515 inline void Parameter::write (
const std::string &filename,
const std::string &fileextension,
bool writeAll )
524 inline void Parameter::write (
const std::string &
path,
const std::string &filename,
const std::string &fileextension,
bool writeAll )
530 std::string fullname( path );
532 fullname += filename;
533 fullname += fileextension;
535 std::ofstream file( fullname );
537 write( file, writeAll );
539 std::cerr <<
"Warning: Unable to write parameter file '" << fullname <<
"'" << std::endl;
548 template<
class ParamDefault,
class ParamImpl >
550 :
public ParamDefault
555 virtual ParamDefault *
clone ()
const 557 return new ParamImpl( asImp() );
563 return static_cast< const ParamImpl &
>( *this );
567 template<
class ParamDefault >
573 virtual ParamDefault *
clone ()
const 575 return new ParamDefault( static_cast< const ParamDefault & >( *
this ) );
583 #endif // #ifndef DUNE_FEM_PARAMETER_HH
void write(std::ostream &out, bool writeAll=true) const
write the parameter database to a stream
Definition: container.hh:539
static int rank()
Definition: mpimanager.hh:116
static void getValid(const std::string &key, const Validator &validator, T &value)
get a mandatory parameter from the container
Definition: io/parameter.hh:301
Container for User Specified Parameters.
Definition: io/parameter.hh:187
static T getValidValue(const std::string &key, const T &defaultValue, const Validator &validator)
get an optional parameter from the container
Definition: io/parameter.hh:382
static std::string commonOutputPath()
obtain common output path
Definition: io/parameter.hh:410
static void getValid(const std::string &key, const T &defaultValue, const Validator &validator, T &value)
get an optional parameter from the container
Definition: io/parameter.hh:317
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
class with singleton instance managing all persistent objects
Definition: persistencemanager.hh:136
const ParamImpl & asImp() const
Definition: io/parameter.hh:561
bool directoryExists(const std::string &name)
check whether a directory exists
Definition: io.cc:58
static T getValidValue(const std::string &key, const Validator &validator)
get an optional parameter from the container
Definition: io/parameter.hh:364
std::string commonInputPath() const
Definition: container.hh:154
virtual ParamDefault * clone() const
Definition: io/parameter.hh:573
static T getValue(const std::string &key, const T &defaultValue)
get an optional parameter from the container
Definition: io/parameter.hh:348
static std::string outputPath()
obtain unique output path for this process
Definition: io/parameter.hh:504
bool createDirectory(const std::string &inName)
create a directory
Definition: io.cc:19
static int getEnum(const std::string &key, const std::string(&values)[n], int defaultValue)
Definition: io/parameter.hh:394
static void appendDGF(const std::string &filename)
add parameters from a DGF file to the container
Definition: io/parameter.hh:237
static void append(int &argc, char **argv)
add parameters from the command line RangeType gRight;
Definition: io/parameter.hh:215
void appendDGF(const std::string &filename)
add parameters from a DGF file
Definition: container.hh:504
Definition: io/parameter.hh:549
void append(int &argc, char **argv)
add parameters from the command line
Definition: container.hh:484
Definition: coordinate.hh:4
static int getEnum(const std::string &key, const std::string(&values)[n])
Definition: io/parameter.hh:388
static void write(std::ostream &out, bool writeAll=true)
write the parameter database to a stream
Definition: io/parameter.hh:476
static int setVerboseRank(int verboseRank)
set the rank for verbose output
Definition: io/parameter.hh:203
T getValidValue(const std::string &key, const Validator &validator) const
get optional parameter
Definition: reader.hh:187
static ParameterContainer & container()
Definition: io/parameter.hh:190
static void write(const std::string &filename, const std::string &fileextension="", bool writeAll=true)
write the parameter database to a file
Definition: io/parameter.hh:515
virtual ParamDefault * clone() const
Definition: io/parameter.hh:555
static void append(const std::string &key, const std::string &value)
add a single parameter to the container
Definition: io/parameter.hh:222
std::string path
Definition: readioparams.cc:155
virtual ~LocalParameter()
Definition: io/parameter.hh:570
static bool verbose()
obtain the cached value for fem.verbose
Definition: io/parameter.hh:444
static void append(const std::string &filename)
add parameters from a file to the container
Definition: io/parameter.hh:228
static bool exists(const std::string &key)
find out, whether a parameter is defined in the container
Definition: io/parameter.hh:246
bool verbose() const
obtain the cached value for fem.verbose
Definition: container.hh:152
T getValue(const std::string &key) const
get mandatory parameter
Definition: reader.hh:149
void get(const std::string &key, T &value) const
get mandatory parameter
Definition: reader.hh:49
static T getValue(const std::string &key)
get a mandatory parameter from the container
Definition: io/parameter.hh:332
static std::string commonInputPath()
obtain common input path
Definition: io/parameter.hh:438
Definition: container.hh:70
std::string commonOutputPath() const
Definition: container.hh:159
int setVerboseRank(int verboseRank)
set the rank for verbose output
Definition: container.hh:433
virtual ~LocalParameter()
Definition: io/parameter.hh:552
void getValid(const std::string &key, const Validator &validator, T &value) const
get mandatory parameter
Definition: reader.hh:108