Function to convert a parsed printf format Specifier to std::format syntax
| 689 | |
| 690 | // Function to convert a parsed printf format Specifier to std::format syntax |
| 691 | static std::string printf_specifier_to_std_format(PrintfSpecifier& spec, int& argIndex) |
| 692 | { |
| 693 | switch (spec.Type) |
| 694 | { |
| 695 | case ClassType::CHARACTER: |
| 696 | { |
| 697 | return handle_character_specifier(spec, argIndex); |
| 698 | } |
| 699 | case ClassType::STRING: |
| 700 | { |
| 701 | return handle_string_specifier(spec, argIndex); |
| 702 | } |
| 703 | case ClassType::SIGNED_DECIMAL_INTEGER: |
| 704 | case ClassType::OCTAL_HEX_INTEGER: |
| 705 | case ClassType::UNSIGNED_DECIMAL_INTEGER: |
| 706 | { |
| 707 | return handle_integer_specifier(spec, argIndex); |
| 708 | } |
| 709 | case ClassType::FLOATING_POINT_DECIMAL: |
| 710 | case ClassType::FLOATING_POINT_DECIMAL_EXPONENT: |
| 711 | case ClassType::FLOATING_POINT_HEX_EXPONENT: |
| 712 | case ClassType::FLOATING_POINT_GENERAL_EXPONENT: |
| 713 | case ClassType::NUMBER_OF_CHARACTERS: |
| 714 | case ClassType::POINTER: |
| 715 | default: |
| 716 | { |
| 717 | return handle_default_specifier(spec, argIndex); |
| 718 | } |
| 719 | } |
| 720 | } |
| 721 | |
| 722 | // Complete function to convert printf-like format to std::format |
| 723 | std::string printf_to_std_format(const std::string& format) |
no test coverage detected