32 #include <type_traits>
58 std::ostringstream os;
65 typename std::decay<T>::type
66 try_parse(
const std::string &input, T &&default_value = T())
68 std::istringstream parser(input);
69 typename std::decay<T>::type result = std::forward<T>(default_value);
87 typename std::decay<T>::type
90 auto p = dict.find(key);
91 return p != dict.end()?
92 try_parse(p->second, std::forward<T>(default_value))
93 : std::forward<T>(default_value);