From 654520ea343e0c8572bbf08be9963be098f4fbc8 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Mon, 12 May 2014 17:14:28 -0700 Subject: [PATCH] Revert "refs #166: fix for std::stoll et al. not handling strings" This reverts commit bc29ed5a9c5bd7703f861b4839235a55f6b8f343. --- include/llmr/style/value.hpp | 36 +++--------------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/include/llmr/style/value.hpp b/include/llmr/style/value.hpp index 40be29f42..0dc53248b 100644 --- a/include/llmr/style/value.hpp +++ b/include/llmr/style/value.hpp @@ -34,51 +34,21 @@ template <> struct string_to_number { template <> struct string_to_number { double operator()(std::string const &str) const { int val = string_to_bool(str); - if (val < 0) { - try { - double b = std::stod(str); - return b; - } catch (std::invalid_argument const& ex) { - return false; - } - } else { - return val; - } - return false; + return val < 0 ? std::stod(str) : val; } }; template <> struct string_to_number { int64_t operator()(std::string const &str) const { int val = string_to_bool(str); - if (val < 0) { - try { - long long b = std::stoll(str); - return b; - } catch (std::invalid_argument const& ex) { - return false; - } - } else { - return val; - } - return false; + return val < 0 ? std::stoll(str) : val; } }; template <> struct string_to_number { uint64_t operator()(std::string const &str) const { int val = string_to_bool(str); - if (val < 0) { - try { - unsigned long long b = std::stoull(str); - return b; - } catch (std::invalid_argument const& ex) { - return false; - } - } else { - return val; - } - return false; + return val < 0 ? std::stoull(str) : val; } };