Библиотека форматирования (C++20)
Материал из cppreference.com
Библиотека форматирования текста предлагает безопасную и расширяемую альтернативу семейству функций printf. Она предназначена для дополнения существующей библиотеки потоков ввода-вывода C++ и повторного использования некоторых элементов её инфраструктуры, таких как перегруженные операторы вставки для определяемых пользователем типов.
Пример:
std::string message = std::format("Ответ {}.", 42);
[править] Функции форматирования
| (C++20) |
сохраняет форматированное представление аргументов в новой строке (шаблон функции) |
| (C++20) |
записывает форматированное представление своих аргументов через итератор вывода (шаблон функции) |
| (C++20) |
записывает форматированное представление своих аргументов через итератор вывода, не превышая заданного размера (шаблон функции) |
| (C++20) |
определяет количество символов, необходимых для хранения форматированного представления его аргументов (шаблон функции) |
[править] Поддержка расширяемости и детали реализации
| (C++20) |
не шаблонный variant std::format с использованием представления аргументов с удалением типа (функция) |
| (C++20) |
не шаблонный variant std::format_to с использованием представления аргументов с удалением типа (шаблон функции) |
| (C++20) |
шаблон класса, который предоставляет доступ к аргументу форматирования для определяемых пользователем средств форматирования (шаблон класса) |
| (C++20) |
шаблон класса, который определяет правила форматирования для данного типа (шаблон класса) |
| (C++20) (C++20) (C++20) |
состояние парсера строки форматирования (шаблон класса) |
| (C++20) (C++20) (C++20) |
состояние форматирования, включая все аргументы форматирования и итератор вывода (шаблон класса) |
| (C++20) |
интерфейс посещения аргументов для определяемых пользователем средств форматирования (шаблон функции) |
| (C++20) (C++20) |
создаёт объект с удалением типа, ссылающийся на все аргументы форматирования, конвертируемый в format_args (шаблон функции) |
| (C++20) (C++20) (C++20) |
класс, который обеспечивает доступ ко всем аргументам форматирования (шаблон класса) |
| (C++20) |
тип исключения, возникающий при ошибках форматирования (класс) |

