Base case: no more arguments
| 561 | |
| 562 | // Base case: no more arguments |
| 563 | inline void format_impl(sstream& stream, const char* format) FL_NOEXCEPT { |
| 564 | while (*format) { |
| 565 | if (*format == '%') { |
| 566 | FormatSpec spec = parse_format_spec(format); |
| 567 | if (spec.type == '%') { |
| 568 | stream << "%"; |
| 569 | continue; |
| 570 | } else { |
| 571 | // No argument for format specifier |
| 572 | stream << "<missing_arg>"; |
| 573 | continue; |
| 574 | } |
| 575 | } else { |
| 576 | // Create a single-character string since sstream treats char as number |
| 577 | char temp_str[2] = {*format, '\0'}; |
| 578 | stream << temp_str; |
| 579 | ++format; |
| 580 | } |
| 581 | } |
| 582 | } |
| 583 | |
| 584 | // Recursive case: process one argument and continue |
| 585 | template<typename T, typename... Args> |
no test coverage detected