Пространства имён
Варианты
Действия

cpp/utility/format: различия между версиями

Материал из cppreference.com
Olya (обсуждение | вклад)
Нет описания правки
Olya (обсуждение | вклад)
Нет описания правки
 
Строка 48: Строка 48:


===Примечание===
===Примечание===
{{ftm begin|std=1|value=1|comment=1}}
{{ftm begin|=1}}
{{ftm|__cpp_lib_format|std=C++20|value=201907L|rowspan="4"|Форматирование текста}}
{{ftm|__cpp_lib_format|std=C++20|value=201907L|rowspan=""|Форматирование текста}}
{{ftm|-|std=C++20|dr=1|value=202106L|Проверка строки формата во время компиляции;<br>Уменьшение параметризации {{lc|std::vformat_to}}}}
{{ftm|-|std=C++20|dr=1|value=202106L|Проверка строки формата во время компиляции;<br>Уменьшение параметризации {{lc|std::vformat_to}}}}
{{ftm|-|std=C++20|dr=1|value=202110L|Исправление обработки локали в chrono форматтерах;<br>Поддержка неконстантных форматируемых типов }}
{{ftm|-|std=C++20|dr=1|value=202110L|Исправление обработки локали в chrono форматтерах;<br>Поддержка неконстантных форматируемых типов }}
{{ftm|-|std=C++23|value=202207L|Раскрытие {{lc|std::basic_format_string}};<br>Уточняет обработку кодировок в локализованном форматировании хронотипов}}
{{ftm|-|std=C++23|value=202207L|Раскрытие {{lc|std::basic_format_string}};<br>Уточняет обработку кодировок в локализованном форматировании хронотипов}}
{{ftm|__cpp_lib_format_ranges|std=C++23|value=202207L|Диапазоны форматирования}}
{{ftm|__cpp_lib_format_ranges|std=C++23|value=202207L|Диапазоны форматирования}}
{{ftm end}}
{{ftm end}}

Текущая версия от 10:16, 18 сентября 2023

 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
Библиотека форматирования
Функции форматирования
(C++20)
(C++20)
(C++20)
(C++20)
Концепты форматирования
Форматировщик
(C++20)
Аргументы форматирования
(C++20) (устарело в C++26)
Ошибка формата
 

Библиотека форматирования текста предлагает безопасную и расширяемую альтернативу семейству функций printf. Она предназначена для дополнения существующей библиотеки потоков ввода-вывода C++ и повторного использования некоторых элементов её инфраструктуры, таких как перегруженные операторы вставки для определяемых пользователем типов.

#include <format>
#include <cassert>
int main() {
    std::string message = std::format("Ответ {}.", 42);
    assert( message == "Ответ 42." );
}

Функции форматирования

Определены в заголовочном файле <format>
(C++20)
сохраняет форматированное представление аргументов в новой строке
(шаблон функции) [править]
(C++20)
записывает форматированное представление своих аргументов через итератор вывода
(шаблон функции) [править]
записывает форматированное представление своих аргументов через итератор вывода, не превышая заданного размера
(шаблон функции) [править]
определяет количество символов, необходимых для хранения форматированного представления его аргументов
(шаблон функции) [править]

Концепты форматирования

Определены в заголовочном файле <format>
указывает, что тип является форматируемым, то есть он специализирует std::formatter и предоставляет функции-элементы parse и format
(концепт) [править]

Поддержка расширяемости и детали реализации

Определены в заголовочном файле <format>
(C++20)
нешаблонный вариант std::format с использованием представления аргументов с удалением типа
(функция) [править]
нешаблонный вариант std::format_to с использованием представления аргументов с удалением типа
(шаблон функции) [править]
создаёт объект с удалением типа, ссылающийся на все аргументы форматирования, конвертируемый в format_args
(шаблон функции) [править]
(C++20) (устарело в C++26)
интерфейс посещения аргументов для определяемых пользователем средств форматирования
(шаблон функции) [править]
(C++20)
шаблонный класс, который определяет правила форматирования для данного типа
(шаблон класса) [править]