| 135 | } |
| 136 | |
| 137 | FMT_CONSTEXPR const Char* on_format_specs(const Char* begin, |
| 138 | const Char* end) { |
| 139 | auto repl = typename part::replacement(); |
| 140 | dynamic_specs_handler<basic_format_parse_context<Char>> handler( |
| 141 | repl.specs, parse_context_); |
| 142 | auto it = parse_format_specs(begin, end, handler); |
| 143 | if (*it != '}') on_error("missing '}' in format string"); |
| 144 | repl.arg_id = part_.part_kind == part::kind::arg_index |
| 145 | ? arg_ref<Char>(part_.val.arg_index) |
| 146 | : arg_ref<Char>(part_.val.str); |
| 147 | auto part = part::make_replacement(repl); |
| 148 | part.arg_id_end = begin; |
| 149 | handler_(part); |
| 150 | return it; |
| 151 | } |
| 152 | }; |
| 153 | |
| 154 | // Compiles a format string and invokes handler(part) for each parsed part. |
nothing calls this directly
no test coverage detected