template<typename T>
typename std::enable_if<std::_Is_numeric<T>::value,T>::type
getValue()
{
switch(_valueDataType)
{
case ValueDataType::BOOLEAN_TYPE:
if (_value == "true") {
return (T)true;
} else {
return (T)false;
}
break;
case ValueDataType::INTEGER_TYPE:
return (T)atoi(_value.c_str());
break;
case ValueDataType::DOUBLE_TYPE:
return (T)atof(_value.c_str());
break;
}
return 0;
}
string getValueAsString()
{
return _value;
}
// Calling it
string s;
int a;
bool b;
double c;
case ValueDataType::STRING_TYPE:
s = iter->second.getValueAsString();
break;
case ValueDataType::INTEGER_TYPE:
a = iter->second.getValue<int>();
break;
case ValueDataType::BOOLEAN_TYPE:
b = iter->second.getValue<bool>();
break;
case ValueDataType::DOUBLE_TYPE:
c = iter->second.getValue<double>();
break;