| 168 | } |
| 169 | |
| 170 | void JSONFormatter::add_value(std::string_view name, double val) { |
| 171 | CachedStackStringStream css; |
| 172 | if (!std::isfinite(val) || std::isnan(val)) { |
| 173 | *css << "null"; |
| 174 | } else { |
| 175 | css->precision(std::numeric_limits<double>::max_digits10); |
| 176 | *css << val; |
| 177 | } |
| 178 | add_value(name, css->strv(), false); |
| 179 | } |
| 180 | |
| 181 | template <class T> |
| 182 | void JSONFormatter::add_value(std::string_view name, T val) |