1 #ifndef CONFIGFUNCTIONS_H
3 #define CONFIGFUNCTIONS_H
17 typedef void (*ObtainConfigFunction)(ConfigWriter &config);
19 ConfigFunctions(ProcessConfigFunction processFunction, ObtainConfigFunction obtainFunction,
20 const std::string &name,
const std::string &categoryName =
"default");
23 const std::vector<std::string> &excludeCategories = std::vector<std::string>() );
24 static void obtainConfigurations(ConfigWriter &config,
const std::vector<std::string> &excludeCategories = std::vector<std::string>());
28 class ConfigFunctionsInternal
31 ConfigFunctionsInternal(ProcessConfigFunction p = 0, ObtainConfigFunction o = 0,
const std::string &n =
"") : procFunc(p), obtFunc(o), name(n) { }
32 ConfigFunctionsInternal(
const ConfigFunctionsInternal &src) : procFunc(src.procFunc), obtFunc(src.obtFunc), name(src.name) { }
34 ProcessConfigFunction procFunc;
35 ObtainConfigFunction obtFunc;
39 bool operator()(
const ConfigFunctionsInternal &a,
const ConfigFunctionsInternal &b)
const {
return (a.name < b.name); }
40 void operator=(
const ConfigFunctionsInternal &src) { procFunc = src.procFunc; obtFunc = src.obtFunc ; name = src.name; }
43 static std::map<std::string, std::vector<ConfigFunctionsInternal> > *s_pConfigFunctionMap;
44 static bool contains(
const std::vector<std::string> &v,
const std::string &x);
47 #endif // CONFIGFUNCTIONS_H
Helper class to read configuration settings, more advanced than ConfigReader.
Definition: configsettings.h:21
This class allows you to generate random numbers, and uses the GNU Scientific Library for this...
Definition: gslrandomnumbergenerator.h:16