Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Jan 21st, 2013  |  syntax: C++  |  size: 0.87 KB  |  views: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
This paste has a previous version, view the difference. Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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;