| 112 | |
| 113 | template<typename T> |
| 114 | static CheckedError atot(const char *s, Parser &parser, T *val) { |
| 115 | auto done = atot_scalar(s, val, bool_constant<is_floating_point<T>::value>()); |
| 116 | if (done) return NoError(); |
| 117 | if (0 == *val) |
| 118 | return parser.Error("invalid number: \"" + std::string(s) + "\""); |
| 119 | else |
| 120 | return parser.Error("invalid number: \"" + std::string(s) + "\"" + |
| 121 | ", constant does not fit " + TypeToIntervalString<T>()); |
| 122 | } |
| 123 | template<> |
| 124 | CheckedError atot<Offset<void>>(const char *s, Parser &parser, |
| 125 | Offset<void> *val) { |
no test coverage detected