| 2454 | |
| 2455 | template <typename Char, typename Handler> |
| 2456 | FMT_CONSTEXPR const Char* parse_width(const Char* begin, const Char* end, |
| 2457 | Handler&& handler) { |
| 2458 | FMT_ASSERT(begin != end, ""); |
| 2459 | if ('0' <= *begin && *begin <= '9') { |
| 2460 | handler.on_width(parse_nonnegative_int(begin, end, handler)); |
| 2461 | } else if (*begin == '{') { |
| 2462 | ++begin; |
| 2463 | if (begin != end) |
| 2464 | begin = parse_arg_id(begin, end, width_adapter<Handler, Char>(handler)); |
| 2465 | if (begin == end || *begin != '}') |
| 2466 | return handler.on_error("invalid format string"), begin; |
| 2467 | ++begin; |
| 2468 | } |
| 2469 | return begin; |
| 2470 | } |
| 2471 | |
| 2472 | template <typename Char, typename Handler> |
| 2473 | FMT_CONSTEXPR const Char* parse_precision(const Char* begin, const Char* end, |
no test coverage detected