15 #ifndef VISIONTRANSFER_INTERNAL_CONVERSIONHELPERS_H
16 #define VISIONTRANSFER_INTERNAL_CONVERSIONHELPERS_H
18 namespace visiontransfer {
22 class VT_EXPORT ConversionHelpers {
26 static double anyToDouble(T val);
30 static std::string anyToString(T val) {
31 std::ostringstream ss;
32 ss << std::setprecision(std::numeric_limits<double>::max_digits10 - 1) << val;
37 template<typename S, typename T, typename std::enable_if<std::is_arithmetic<S>::value>::type* =
nullptr >
38 static S toStringIfStringExpected(T val) {
39 return static_cast<S
>(val);
41 template<typename S, typename T, typename std::enable_if<std::is_same<S, std::string>::value>::type* =
nullptr >
42 static S toStringIfStringExpected(T val) {
43 return std::to_string(val);