Advertisement
Guest User

Untitled

a guest
Jan 21st, 2013
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement