File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/ams.js
ALMaSS  1.2 (after EcoStack, March 2024)
The Animal, Landscape and Man Simulation System
All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Configurator.h
Go to the documentation of this file.
1 //
2 // Configurator.h
3 //
4 /*
5 *
6 *******************************************************************************************************
7 Copyright (c) 2011, Christopher John Topping, Aarhus University
8 All rights reserved.
9 
10 Redistribution and use in source and binary forms, with or without modification, are permitted provided
11 that the following conditions are met:
12 
13 Redistributions of source code must retain the above copyright notice, this list of conditions and the
14 following disclaimer.
15 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
16 the following disclaimer in the documentation and/or other materials provided with the distribution.
17 
18 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
19 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20 FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
21 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
22 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 ********************************************************************************************************
27  * Modified by Andrey Chuhutin, April-May 2020
28 */
29 
30 #ifndef CONFIGURATOR_H
31 #define CONFIGURATOR_H
32 
33 // If defined will compile many methods as inlines for speed.
34 //#define CONF_INLINES
35 
36 #include <stdio.h>
37 #include <functional>
38 #ifdef __UNIX
39 #undef max
40 #endif
41 #include <string>
42 #include <map>
43 #include <utility>
44 #include <vector>
45 #include <array>
46 #include <memory>
47 
48 //#include <algorithm.h>
49 
50 // This one *has* to be a define!
51 // A global configurator variable will not do.
52 #define CFG_MAX_LINE_LENGTH 512
53 
54 /* we will call everything from std namespace explicitly*/
55 //using namespace std;
56 
57 
58 typedef enum {
67 } CfgType;
68 
69 typedef enum {
74 
75 
79 class CfgBase {
80 protected:
81  std::string m_key;
84  bool m_definedinconfig{false};
85 
86  public:
87  CfgBase(const std::string& a_key, CfgSecureLevel a_level);
88  CfgBase( const std::string& a_key, CfgSecureLevel a_level ,bool a_definedinconfig);
89  virtual ~CfgBase();
90 
91  std::string getkey ( ) { return m_key; }
92  virtual CfgType gettype ( ) { return CFG_NONE; }
93  CfgSecureLevel getlevel( void ) { return m_level; }
94  void set_definedinconfig(bool flag){m_definedinconfig=flag;}
95  bool get_definedinconfig() const{return m_definedinconfig;}
96  bool get_rangetest() const{return m_rangetest;};
97 };
98 
102 class CfgInt : public CfgBase
103 {
104 protected:
105 
106 
107  int m_int;
108  int m_max{};
109  int m_min{};
110 
111  public:
112  CfgInt(const std::string& a_key, CfgSecureLevel a_level, int a_defval );
113  CfgInt(const std::string& a_key, CfgSecureLevel a_level, int a_defval, int a_min, int a_max);
114  CfgInt(const std::string& a_key, CfgSecureLevel a_level, int a_defval, bool a_definedinconfig);
115  CfgInt(const std::string& a_key, CfgSecureLevel a_level, int a_defval, int a_min, int a_max, bool a_definconf);
116  int value( ) const { return m_int; }
117  void set(int a_newval);
118  CfgType gettype( ) override { return CFG_INT; }
119  double getmax() const {return m_max;}
120  double getmin() const {return m_min;}
121 };
122 
126 class CfgFloat : public CfgBase
127 {
128 protected:
129  CfgFloat(const std::string a_key, CfgSecureLevel a_level, double a_defval, double a_min, double a_max,
130  bool a_definconf);
131 
132  double m_float;
133  double m_min{};
134  double m_max{};
135 
136 public:
137  CfgFloat(const std::string&, CfgSecureLevel a_level, double a_defval);
138  CfgFloat(const std::string&, CfgSecureLevel a_level, double a_defval, bool a_definconf);
140  CfgFloat(std::string, CfgSecureLevel a_level, double a_defval, double a_min, double a_max);
141 
142  double value() const { return m_float; }
143  void set(double a_newval);
144  CfgType gettype() override { return CFG_FLOAT; }
145  double getmax() const {return m_max;}
146  double getmin() const {return m_min;}
147 };
148 
149 
155 class CfgBool : public CfgBase
156 {
157 protected:
158  bool m_bool;
159 
160  public:
161  CfgBool( const std::string&, CfgSecureLevel a_level, bool a_defval );
162  CfgBool( const std::string&, CfgSecureLevel a_level, bool a_defval, bool a_definconf );
163 
164  bool value( ) const { return m_bool; }
165  void set( bool a_newval ) { m_bool = a_newval; }
166  CfgType gettype( ) override { return CFG_BOOL; }
167 };
168 
169 
173 class CfgStr : public CfgBase
174 {
175 protected:
176  std::string m_string;
177 
178  public:
179  CfgStr( const std::string& a_key, CfgSecureLevel a_level, const std::string& a_defval );
180  CfgStr( const std::string& a_key, CfgSecureLevel a_level, const std::string& a_defval, bool a_definconf );
181 
182  char* value( ) const { return const_cast<char *>(m_string.c_str()); }
183  void set( std::string a_newval ) { m_string = std::move(a_newval); }
184  virtual CfgType gettype( void ) { return CFG_STRING; }
185 };
189 class CfgArray_Int : public CfgBase
190 {
191 protected:
192 
193 
194  int array_size{0};
195  std::vector<int> m_intarray{};
196 public:
197 
198  CfgArray_Int( const std::string& a_name, CfgSecureLevel a_level, int a_numofvals, const std::vector<int>& a_defval );
199  CfgArray_Int( const std::string& a_name, CfgSecureLevel a_level, int a_numofvals, const std::vector<int>& a_defval, bool a_definconf);
200  CfgArray_Int(const std::string &a_key, CfgSecureLevel a_level, int a_numvals);
201  std::vector<int> value() const { return m_intarray; }
202  void set( std::vector<int> a_newval ) { m_intarray = std::move(a_newval); }
203  virtual CfgType gettype( ) { return CFG_ARRAY_INT; }
204  int get_array_size(){return array_size;}
205  int value(unsigned a_index) { return m_intarray[a_index]; }
206 };
207 
208 class CfgArray_Double : public CfgBase
209 {
210 protected:
211  int array_size{0};
212  std::vector<double> m_doublearray{};
213 public:
214 
215  CfgArray_Double( const std::string& a_name, CfgSecureLevel a_level, int a_numofvals, const std::vector<double>& a_defval );
216  CfgArray_Double( const std::string& a_name, CfgSecureLevel a_level, int a_numofvals, const std::vector<double>& a_defval, bool a_definconf);
217  CfgArray_Double(const std::string &a_key, CfgSecureLevel a_level, int a_numvals);
218 
219  std::vector<double> value() const { return m_doublearray; }
220  void set( std::vector<double> a_newval ) { m_doublearray = std::move(a_newval); }
221  virtual CfgType gettype( ) { return CFG_ARRAY_DOUBLE; }
222  int get_array_size(){return array_size;}
223  double value(unsigned a_index) { return m_doublearray[a_index]; }
224 };
232 protected:
233  std::function<void ()> funtocall;
234  std::string function_name;
235 public:
236  CfgFunction( std::string a_name, CfgSecureLevel a_level, int a_numofvals, const double a_defval, std::string a_function_name, std::function<void ()> funtocall );
237  CfgFunction( std::string a_name, CfgSecureLevel a_level, int a_numofvals, const double a_defval, std::string a_function_name );
238 
239  CfgFunction( std::string a_name, CfgSecureLevel a_level, int a_numofvals, const double a_defval);
240 
241 
242  std::function<void ()> value() const { return funtocall; }
243  std::string fun_name() const { return function_name; }
244  void set( std::vector<double> a_newval, std::string fun_name );
245  virtual CfgType gettype( ) { return CFG_FUNCTION; }
246 };
247 
252 {
253  protected:
254  std::map<std::string, unsigned int> CfgI;
255  std::vector<std::shared_ptr<CfgBase>> CfgVals;
256 
257  // Private methods and fields for the configuration file parser.
258  unsigned int m_lineno;
259  bool ParseCfgLine( std::string a_line );
260 
261  //bool LastDoubleQuote( std::string a_rest_of_line );
262 
263  // Discreet security check. Returns true if we terminate line
264  // parsing early.
265  bool SetCfgGatekeeper( const std::string a_method,
266  const std::string a_key,
267  CfgSecureLevel a_level );
268 
269  // Helper methods.
270  void ShowIdType( unsigned int a_i );
271  std::string ExtractString( std::string a_line ) const;
272  bool ParseCommentLine(std::string a_line);
273  void DumpSymbols( const char *a_dumpfile,
274  CfgSecureLevel a_level );
275 
276  public: // for python interface
277  void SetCfgInt(std::string a_key, std::string a_val);
278  void SetCfgFloat(std::string a_key, std::string a_val);
279  void SetCfgBool(std::string a_key, std::string a_val);
280  void SetCfgStr(std::string a_key, std::string a_val);
281  void SetCfgArrayInt(std::string a_key, std::string a_val);
282  void SetCfgArrayDouble(std::string a_key, std::string a_val);
283  void SetCfgArrayIntCsv(std::string a_key, std::string a_val);
284  void SetCfgArrayDoubleCsv(std::string a_key, std::string a_val);
285  void SetCfgFunction(std::string a_key, std::string a_val);
286 
287  public:
288  // Write all configuration values with a security level at or below
289  // a_level to a_dumpfile in alphabetical order. a_level must
290  // be CFG_CUSTOM (user settable) or CFG_PUBLIC (user can see
291  // predefined value and the very existence of this parameter).
292  void DumpPublicSymbols( const char *a_dumpfile,
293  CfgSecureLevel a_level );
294 
295  // Dump *all* configuration values, including the private ones,
296  // to a_dumpfile and then calls exit(), noting the event in the error
297  // file!! For debugging purposes only. The call to exit() is there in
298  // order to try and prevent any use of this call from making it into
299  // production code.
300  void DumpAllSymbolsAndExit( const char *a_dumpfile );
301 
302  // Reads and parses a_cfgfile for configuration values. Unknown
303  // or CFG_PRIVATE keys are silently ignored thus preventing snooping
304  // on possibly interesting key values. Returns true if reading and
305  // parsing was error free.
306  bool ReadSymbols( const char *a_cfgfile );
307 
308  // You should never use these ones directly, they are
309  // called automagically by the CfgBase class con/destructor
310  // when needed.
311  Configurator( void );
312  ~Configurator( void );
313 
314  // Please don't use this unless you know what you are doing.
315  // Need to be public as it is used by the CfgBase class and friends.
316  bool Register( CfgBase* a_cfgval, const std::string& a_key );
317  bool Register(std::shared_ptr<CfgBase> a_cfgval, const std::string &a_key);
318  void StoreFromConfig(const std::string &name, std::string type, std::string value);
319 
320 
321  bool CheckBounds(std::shared_ptr<CfgBase> a_cfgval, CfgBase *b_cfgval);
322 
323  std::vector<int> ParseArrayInt(const std::string& a_stringtoparse);
324 
325  std::vector<double> ParseArrayDouble(const std::string &a_stringtoparse);
326 };
327 
328 std::shared_ptr <Configurator> CreateConfigurator();
329 
330 extern std::shared_ptr <Configurator> g_cfg;
331 //extern class Configurator *g_cfg;
332 #endif // CONFIGURATOR_H
333 
334 
335 
CFG_ARRAY_INT
Definition: Configurator.h:64
Configurator::SetCfgArrayDouble
void SetCfgArrayDouble(std::string a_key, std::string a_val)
Definition: Configurator.cpp:807
Configurator::SetCfgBool
void SetCfgBool(std::string a_key, std::string a_val)
Definition: Configurator.cpp:884
CfgTypeStrings
static const std::string CfgTypeStrings[]
Definition: Configurator.cpp:71
CfgFloat::gettype
CfgType gettype() override
Definition: Configurator.h:144
CfgStr::set
void set(std::string a_newval)
Definition: Configurator.h:183
CfgFunction::fun_name
std::string fun_name() const
Definition: Configurator.h:243
WARN_FILE
Definition: MapErrorMsg.h:37
CFG_INT
Definition: Configurator.h:60
CFG_ARRAY_DOUBLE
Definition: Configurator.h:65
CfgType
CfgType
Definition: Configurator.h:58
CfgFunction::CfgFunction
CfgFunction(std::string a_name, CfgSecureLevel a_level, int a_numofvals, const double a_defval, std::string a_function_name, std::function< void()> funtocall)
CfgArray_Double::m_doublearray
std::vector< double > m_doublearray
Definition: Configurator.h:212
CfgInt::gettype
CfgType gettype() override
Definition: Configurator.h:118
CfgFloat::CfgFloat
CfgFloat(const std::string a_key, CfgSecureLevel a_level, double a_defval, double a_min, double a_max, bool a_definconf)
Definition: Configurator.cpp:176
CfgInt::getmax
double getmax() const
Definition: Configurator.h:119
CfgArray_Int::m_intarray
std::vector< int > m_intarray
Definition: Configurator.h:195
CfgArray_Int::gettype
virtual CfgType gettype()
Definition: Configurator.h:203
CfgStr::m_string
std::string m_string
Definition: Configurator.h:176
CfgInt::CfgInt
CfgInt(const std::string &a_key, CfgSecureLevel a_level, int a_defval)
Definition: Configurator.cpp:113
Configurator::Configurator
Configurator(void)
Definition: Configurator.cpp:286
CreateConfigurator
std::shared_ptr< Configurator > CreateConfigurator()
Definition: Configurator.cpp:1413
CFG_MAX_LINE_LENGTH
#define CFG_MAX_LINE_LENGTH
Definition: Configurator.h:52
CfgStr::value
char * value() const
Definition: Configurator.h:182
CfgFloat::m_min
double m_min
Definition: Configurator.h:133
MapErrorMsg::WarnAddInfo
void WarnAddInfo(MapErrorState a_level, std::string a_add1, std::string a_add2)
Definition: MapErrorMsg.cpp:160
CfgSecureLevel
CfgSecureLevel
Definition: Configurator.h:69
CFG_PUBLIC
Definition: Configurator.h:71
CfgStr
String configurator entry class.
Definition: Configurator.h:173
Configurator::SetCfgStr
void SetCfgStr(std::string a_key, std::string a_val)
Definition: Configurator.cpp:967
CfgArray_Int::get_array_size
int get_array_size()
Definition: Configurator.h:204
CreateConfigurator
std::shared_ptr< Configurator > CreateConfigurator()
Definition: Configurator.cpp:1413
Configurator::SetCfgFunction
void SetCfgFunction(std::string a_key, std::string a_val)
Definition: Configurator.cpp:849
CfgBase::m_level
CfgSecureLevel m_level
Definition: Configurator.h:82
g_cfg
std::shared_ptr< Configurator > g_cfg
Definition: Configurator.cpp:56
CfgFloat::value
double value() const
Definition: Configurator.h:142
CfgArray_Int::value
int value(unsigned a_index)
Definition: Configurator.h:205
CfgBase::get_rangetest
bool get_rangetest() const
Definition: Configurator.h:96
Configurator::~Configurator
~Configurator(void)
Definition: Configurator.cpp:293
CFG_STRING
Definition: Configurator.h:63
CFG_BOOL
Definition: Configurator.h:62
CfgBase::CfgBase
CfgBase(const std::string &a_key, CfgSecureLevel a_level)
Definition: Configurator.cpp:84
Configurator::SetCfgInt
void SetCfgInt(std::string a_key, std::string a_val)
Definition: Configurator.cpp:659
Configurator::ExtractString
std::string ExtractString(std::string a_line) const
Definition: Configurator.cpp:395
CfgFloat::getmax
double getmax() const
Definition: Configurator.h:145
l_cfg_public_warn_on_set
static CfgBool l_cfg_public_warn_on_set("CFG_PUBLIC_WARN_ON_SET", CFG_CUSTOM, true)
CfgInt::m_max
int m_max
Definition: Configurator.h:108
CfgBool::value
bool value() const
Definition: Configurator.h:164
CfgBase::getkey
std::string getkey()
Definition: Configurator.h:91
Configurator
A class to provide standard parameter entry facilities.
Definition: Configurator.h:251
CfgArray_Int::set
void set(std::vector< int > a_newval)
Definition: Configurator.h:202
Configurator::ShowIdType
void ShowIdType(unsigned int a_i)
Definition: Configurator.cpp:620
CfgFloat::m_max
double m_max
Definition: Configurator.h:134
Configurator.h
CfgBool::CfgBool
CfgBool(const std::string &, CfgSecureLevel a_level, bool a_defval)
Definition: Configurator.cpp:199
Configurator::ParseCfgLine
bool ParseCfgLine(std::string a_line)
Definition: Configurator.cpp:476
CfgFunction::gettype
virtual CfgType gettype()
Definition: Configurator.h:245
CfgFloat::set
void set(double a_newval)
Definition: Configurator.cpp:184
Configurator::SetCfgGatekeeper
bool SetCfgGatekeeper(const std::string a_method, const std::string a_key, CfgSecureLevel a_level)
Definition: Configurator.cpp:632
Configurator::CfgVals
std::vector< std::shared_ptr< CfgBase > > CfgVals
Definition: Configurator.h:255
Configurator::CfgI
std::map< std::string, unsigned int > CfgI
Definition: Configurator.h:254
CfgArray_Int::array_size
int array_size
Definition: Configurator.h:194
Configurator::SetCfgArrayDoubleCsv
void SetCfgArrayDoubleCsv(std::string a_key, std::string a_val)
Definition: Configurator.cpp:771
CfgArray_Double::CfgArray_Double
CfgArray_Double(const std::string &a_name, CfgSecureLevel a_level, int a_numofvals, const std::vector< double > &a_defval)
Definition: Configurator.cpp:258
Configurator::ReadSymbols
bool ReadSymbols(const char *a_cfgfile)
Definition: Configurator.cpp:365
CfgFloat::m_float
double m_float
Definition: Configurator.h:132
Configurator::DumpPublicSymbols
void DumpPublicSymbols(const char *a_dumpfile, CfgSecureLevel a_level)
Definition: Configurator.cpp:996
CfgBool
Bool configurator entry class.
Definition: Configurator.h:155
CfgBool::gettype
CfgType gettype() override
Definition: Configurator.h:166
WARN_UNDEF
Definition: MapErrorMsg.h:36
CfgBase::m_definedinconfig
bool m_definedinconfig
Definition: Configurator.h:84
CfgStr::CfgStr
CfgStr(const std::string &a_key, CfgSecureLevel a_level, const std::string &a_defval)
Definition: Configurator.cpp:216
CfgBase::gettype
virtual CfgType gettype()
Definition: Configurator.h:92
CfgBool::set
void set(bool a_newval)
Definition: Configurator.h:165
MapErrorMsg::Warn
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: MapErrorMsg.cpp:69
CfgArray_Double
Definition: Configurator.h:208
CfgStr::gettype
virtual CfgType gettype(void)
Definition: Configurator.h:184
CfgInt::m_min
int m_min
Definition: Configurator.h:109
CfgArray_Double::array_size
int array_size
Definition: Configurator.h:211
CfgArray_Double::gettype
virtual CfgType gettype()
Definition: Configurator.h:221
CfgBase::m_key
std::string m_key
Definition: Configurator.h:81
FloatToDouble
void FloatToDouble(double &, float)
CfgBase::m_rangetest
bool m_rangetest
Definition: Configurator.h:83
CfgArray_Double::get_array_size
int get_array_size()
Definition: Configurator.h:222
CfgFunction::function_name
std::string function_name
Definition: Configurator.h:234
CFG_FLOAT
Definition: Configurator.h:61
CfgArray_Int::CfgArray_Int
CfgArray_Int(const std::string &a_name, CfgSecureLevel a_level, int a_numofvals, const std::vector< int > &a_defval)
Definition: Configurator.cpp:232
Configurator::Register
bool Register(CfgBase *a_cfgval, const std::string &a_key)
Definition: Configurator.cpp:299
CfgInt::value
int value() const
Definition: Configurator.h:116
CfgInt::getmin
double getmin() const
Definition: Configurator.h:120
CfgArray_Double::value
std::vector< double > value() const
Definition: Configurator.h:219
CfgArray_Double::set
void set(std::vector< double > a_newval)
Definition: Configurator.h:220
CfgArray_Double::value
double value(unsigned a_index)
Definition: Configurator.h:223
CfgBase::~CfgBase
virtual ~CfgBase()
Definition: Configurator.cpp:106
CfgFunction::value
std::function< void()> value() const
Definition: Configurator.h:242
CfgFloat::getmin
double getmin() const
Definition: Configurator.h:146
Configurator::CheckBounds
bool CheckBounds(std::shared_ptr< CfgBase > a_cfgval, CfgBase *b_cfgval)
Definition: Configurator.cpp:1274
g_cfg
std::shared_ptr< Configurator > g_cfg
Definition: Configurator.cpp:56
MapErrorMsg.h
g_msg
MapErrorMsg * g_msg
Definition: MapErrorMsg.cpp:41
CFG_NONE
Definition: Configurator.h:59
CfgFunction::funtocall
std::function< void()> funtocall
Definition: Configurator.h:233
CfgInt
Integer configurator entry class.
Definition: Configurator.h:102
CfgBase
Base class for a configurator entry.
Definition: Configurator.h:79
l_cfg_public_exit_on_set
static CfgBool l_cfg_public_exit_on_set("CFG_PUBLIC_EXIT_ON_SET", CFG_CUSTOM, true)
CfgFloat
Double configurator entry class.
Definition: Configurator.h:126
CfgInt::m_int
int m_int
Definition: Configurator.h:107
CfgFunction::set
void set(std::vector< double > a_newval, std::string fun_name)
CfgArray_Int::value
std::vector< int > value() const
Definition: Configurator.h:201
Configurator::DumpSymbols
void DumpSymbols(const char *a_dumpfile, CfgSecureLevel a_level)
Definition: Configurator.cpp:1014
CfgBool::m_bool
bool m_bool
Definition: Configurator.h:158
CfgBase::get_definedinconfig
bool get_definedinconfig() const
Definition: Configurator.h:95
Configurator::SetCfgFloat
void SetCfgFloat(std::string a_key, std::string a_val)
Definition: Configurator.cpp:926
CFG_CUSTOM
Definition: Configurator.h:70
Configurator::SetCfgArrayIntCsv
void SetCfgArrayIntCsv(std::string a_key, std::string a_val)
Definition: Configurator.cpp:736
Configurator::ParseArrayDouble
std::vector< double > ParseArrayDouble(const std::string &a_stringtoparse)
Definition: Configurator.cpp:1402
Configurator::StoreFromConfig
void StoreFromConfig(const std::string &name, std::string type, std::string value)
Definition: Configurator.cpp:1143
CfgSecureStrings
static const std::string CfgSecureStrings[]
Definition: Configurator.cpp:64
Configurator::ParseCommentLine
bool ParseCommentLine(std::string a_line)
Reads each line and parses it.
Definition: Configurator.cpp:464
Configurator::m_lineno
unsigned int m_lineno
Definition: Configurator.h:258
CfgArray_Int
Array_Int configurator entry class.
Definition: Configurator.h:189
CfgBase::set_definedinconfig
void set_definedinconfig(bool flag)
Definition: Configurator.h:94
CfgBase::getlevel
CfgSecureLevel getlevel(void)
Definition: Configurator.h:93
Configurator::DumpAllSymbolsAndExit
void DumpAllSymbolsAndExit(const char *a_dumpfile)
Definition: Configurator.cpp:1007
CFG_PRIVATE
Definition: Configurator.h:72
CfgInt::set
void set(int a_newval)
Definition: Configurator.cpp:144
Configurator::ParseArrayInt
std::vector< int > ParseArrayInt(const std::string &a_stringtoparse)
Definition: Configurator.cpp:1392
Configurator::SetCfgArrayInt
void SetCfgArrayInt(std::string a_key, std::string a_val)
Definition: Configurator.cpp:695
CfgFunction
Function configurator entry class The function pointers are all of type <void ()>....
Definition: Configurator.h:231
CFG_FUNCTION
Definition: Configurator.h:66