View difference between Paste ID: NnZnRRDE and RMSXPnv6
SHOW: | | - or go back to the newest paste.
1
template<typename T>
2
typename std::enable_if<std::_Is_numeric<T>::value,T>::type
3
getValue()
4
{
5
	switch(_valueDataType)
6
	{
7
		case ValueDataType::BOOLEAN_TYPE:
8
			if (_value == "true") {
9
				return (T)true;
10
			} else {
11
				return (T)false;
12
			}
13
			break;
14
		case ValueDataType::INTEGER_TYPE:
15
			return (T)atoi(_value.c_str());
16
			break;
17
		case ValueDataType::DOUBLE_TYPE:
18
			return (T)atof(_value.c_str());
19
			break;
20
	}
21
	return 0;
22
}
23
24
string getValueAsString()
25
{
26
	return _value;
27
}
28
29
30
31
// Calling it
32
33
string s;
34
int a;
35
bool b;
36
double c;
37
38
case ValueDataType::STRING_TYPE:
39
	s = iter->second.getValueAsString();
40
	break;
41
case ValueDataType::INTEGER_TYPE:
42
	a = iter->second.getValue<int>();
43
	break;
44
case ValueDataType::BOOLEAN_TYPE:
45
	b = iter->second.getValue<bool>();
46
	break;
47
case ValueDataType::DOUBLE_TYPE:
48
	c = iter->second.getValue<double>();
49
	break;