| 273 | template <typename Args, size_t POS, int ID, bool DYNAMIC_NAMES, typename T, |
| 274 | typename S> |
| 275 | constexpr auto parse_tail(T head, S fmt) { |
| 276 | if constexpr (POS != basic_string_view<typename S::char_type>(fmt).size()) { |
| 277 | constexpr auto tail = |
| 278 | compile_format_string<Args, POS, ID, DYNAMIC_NAMES>(fmt); |
| 279 | if constexpr (std::is_same<remove_cvref_t<decltype(tail)>, |
| 280 | unknown_format>()) |
| 281 | return tail; |
| 282 | else |
| 283 | return make_concat(head, tail); |
| 284 | } else { |
| 285 | return head; |
| 286 | } |
| 287 | } |
| 288 | |
| 289 | template <typename T, typename Char> struct parse_specs_result { |
| 290 | formatter<T, Char> fmt; |
nothing calls this directly
no test coverage detected