Eclipse SUMO - Simulation of Urban MObility
Parameterised.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2002-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
17 // A super class for objects with additional parameters
18 /****************************************************************************/
19 #ifndef Parameterised_h
20 #define Parameterised_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 
27 #include <map>
28 #include <string>
29 
30 // ===========================================================================
31 // class declarations
32 // ===========================================================================
33 class OutputDevice;
34 
35 // ===========================================================================
36 // class definitions
37 // ===========================================================================
43 public:
45  Parameterised();
46 
50  Parameterised(const std::map<std::string, std::string>& mapArg);
51 
54 
59  void setParameter(const std::string& key, const std::string& value);
60 
64  void unsetParameter(const std::string& key);
65 
69  void updateParameters(const std::map<std::string, std::string>& mapArg);
70 
75  bool knowsParameter(const std::string& key) const;
76 
82  const std::string getParameter(const std::string& key, const std::string& defaultValue = "") const;
83 
89  double getDouble(const std::string& key, const double defaultValue) const;
90 
92  void clearParameter();
93 
95  const std::map<std::string, std::string>& getParametersMap() const;
96 
98  std::string getParametersStr() const;
99 
101  void setParameters(const Parameterised& params);
102 
104  void setParametersMap(const std::map<std::string, std::string>& paramsMap);
105 
107  void setParametersStr(const std::string& paramsString);
108 
110  void writeParams(OutputDevice& device) const;
111 
113  static bool areParametersValid(const std::string& value, bool report = false);
114 
115 private:
117  static bool isParameterValid(const std::string& value, bool report);
118 
120  std::map<std::string, std::string> myMap;
121 };
122 
123 
124 #endif
125 
126 /****************************************************************************/
127 
Parameterised::isParameterValid
static bool isParameterValid(const std::string &value, bool report)
check if given string can be parsed to a parameter of type "key=value"
Definition: Parameterised.cpp:189
Parameterised::getParametersStr
std::string getParametersStr() const
Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN".
Definition: Parameterised.cpp:112
Parameterised
An upper class for objects with additional parameters.
Definition: Parameterised.h:42
OutputDevice
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:63
Parameterised::Parameterised
Parameterised()
Constructor.
Definition: Parameterised.cpp:34
Parameterised::setParameters
void setParameters(const Parameterised &params)
set the inner key/value map in map<string, string> format
Definition: Parameterised.cpp:127
Parameterised::setParametersMap
void setParametersMap(const std::map< std::string, std::string > &paramsMap)
set the inner key/value map in map<string, string> format
Definition: Parameterised.cpp:133
Parameterised::writeParams
void writeParams(OutputDevice &device) const
write Params in the given outputdevice
Definition: Parameterised.cpp:154
Parameterised::getParameter
const std::string getParameter(const std::string &key, const std::string &defaultValue="") const
Returns the value for a given key.
Definition: Parameterised.cpp:72
Parameterised::getParametersMap
const std::map< std::string, std::string > & getParametersMap() const
Returns the inner key/value map.
Definition: Parameterised.cpp:106
Parameterised::updateParameters
void updateParameters(const std::map< std::string, std::string > &mapArg)
Adds or updates all given parameters from the map.
Definition: Parameterised.cpp:58
Parameterised::~Parameterised
~Parameterised()
Destructor.
Definition: Parameterised.cpp:37
Parameterised::setParametersStr
void setParametersStr(const std::string &paramsString)
set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"
Definition: Parameterised.cpp:139
Parameterised::areParametersValid
static bool areParametersValid(const std::string &value, bool report=false)
check if given string can be parsed to a parameters map "key1=value1|key2=value2|....
Definition: Parameterised.cpp:166
Parameterised::unsetParameter
void unsetParameter(const std::string &key)
Removes a parameter.
Definition: Parameterised.cpp:52
Parameterised::setParameter
void setParameter(const std::string &key, const std::string &value)
Sets a parameter.
Definition: Parameterised.cpp:46
Parameterised::clearParameter
void clearParameter()
Clears the parameter map.
Definition: Parameterised.cpp:100
Parameterised::myMap
std::map< std::string, std::string > myMap
The key->value map.
Definition: Parameterised.h:120
Parameterised::getDouble
double getDouble(const std::string &key, const double defaultValue) const
Returns the value for a given key converted to a double.
Definition: Parameterised.cpp:82
Parameterised::knowsParameter
bool knowsParameter(const std::string &key) const
Returns whether the parameter is known.
Definition: Parameterised.cpp:66