6 #ifndef IFW_CORE_UTILS_PARAMETER_HPP_
7 #define IFW_CORE_UTILS_PARAMETER_HPP_
11 #include <boost/lexical_cast.hpp>
29 const std::string value,
30 const std::string comment =
"");
36 const std::string comment =
"") {
61 bool NameDefined(
const std::string& name,
const bool tolerant =
false)
const;
64 bool MatchName(
const std::string& name_regex)
const;
67 const std::string&
GetName()
const;
107 template <
class TYPE>
Class to handle information for one parameter.
Definition: parameter.hpp:22
double GetValueAsDouble() const
Return value as a double. If string representaion of value is not a double, the behaviour is undefine...
Definition: parameter.cpp:193
const std::string & GetComment() const
Get parameter comment.
Definition: parameter.cpp:149
Parameter(const std::string name, const TYPE &value, const std::string comment="")
Constructor settting internal members.
Definition: parameter.hpp:34
TYPE GetValue() const
Get parameter value as its native data type.
Definition: parameter.hpp:108
Parameter & Clear()
Clear the internal members.
Definition: parameter.cpp:41
std::string m_comment
Definition: parameter.hpp:149
bool MatchName(const std::string &name_regex) const
Check if a given name is defined in the object; name specified as a regex.
Definition: parameter.cpp:121
int64_t GetValueAsInt() const
Return value as integer. If string representaion of value is not an integer, the behaviour is undefin...
Definition: parameter.cpp:188
std::string m_low_level_name
Definition: parameter.hpp:146
Parameter & operator=(const Parameter &source)
Copy operator.
Definition: parameter.cpp:35
Parameter & SetComment(const std::string &comment)
Set parameter comment.
Definition: parameter.cpp:172
Parameter & SetMetaName(const std::string name)
Set Meta-data parameter name.
Definition: parameter.cpp:70
Parameter & SetLowLevelName(const std::string name)
Set the low level parameter name.
Definition: parameter.cpp:64
int64_t GetValueAsInt64() const
Return value as 64 bit integer. If string representaion of value is not a 64 bit integer,...
Definition: parameter.cpp:183
std::string m_name
Definition: parameter.hpp:145
const std::string & GetName() const
Return parameter name.
Definition: parameter.cpp:76
bool GetValueAsBool() const
Return value as a boolean. If string representaion of value is not a boolean, the behaviour is undefi...
Definition: parameter.cpp:178
~Parameter()
Definition: parameter.cpp:31
std::string GetNames() const
Generate a string summarising the three possible names (<name 1>/<name 2>/<name 3>).
Definition: parameter.cpp:116
const std::string & GetValue() const
Get parameter value as a string.
Definition: parameter.cpp:134
std::string m_no_value
Definition: parameter.hpp:150
const std::string & GetMetaName() const
Return Meta-data parameter name.
Definition: parameter.cpp:86
Parameter & SetValue(TYPE value)
Set parameter value as its native data type.
Definition: parameter.hpp:86
bool NoValue() const
Return true if no value has been set for the parameter.
Definition: parameter.cpp:144
Parameter()
Definition: parameter.cpp:12
std::string m_meta_name
Definition: parameter.hpp:147
Parameter & SetName(const std::string name)
Set parameter name.
Definition: parameter.cpp:58
Parameter & SetValue(const std::string &value)
Set parameter value.
Definition: parameter.cpp:91
std::string ToString() const
Print out parameter.
Definition: parameter.cpp:154
void GetValue(TYPE &value) const
Get parameter value as its native data type.
Definition: parameter.hpp:100
bool NameDefined(const std::string &name, const bool tolerant=false) const
Check if a given name is defined in the object.
Definition: parameter.cpp:97
std::string m_value
Definition: parameter.hpp:148
const std::string & GetLowLevelName() const
Return the low level parameter name.
Definition: parameter.cpp:81
log4cplus::Logger & Logger()
Definition: tools.cpp:18
std::string NbToStr(const TYPE number, const std::string &format="")
Convert the given value to a string representation.
Definition: conversion.hpp:38
void Convert(const std::string &str_value, std::string &native_value)
Handle case: Conversion of std::string to std::string.
Definition: conversion.cpp:51
Definition: parameter.hpp:17
const std::string NO_VALUE
Definition: parameter.hpp:19