std::basic_format_context
Определено в заголовочном файле <format> | ||
template<class OutputIt, class CharT > class basic_format_context; | (1) | (начиная с C++20) |
using format_context = basic_format_context</* не указано */, char>; | (2) | (начиная с C++20) |
using wformat_context = basic_format_context</* не указано */, wchar_t>; | (3) | (начиная с C++20) |
Предоставляет доступ к состоянию форматирования, состоящему из аргументов форматирования и выходного итератора.
Поведение не определено, если OutputIt
не моделирует std::output_iterator<const CharT&>
.
Содержание |
[править]Типы элементы
Тип | Определение |
iterator | OutputIt |
char_type | CharT |
[править]Элементы псевдонимы шаблонов
Тип | Определение |
formatter_type<T> | std::formatter<T, CharT> |
[править]Функции-элементы
arg | возвращает аргумент по заданному индексу (public функция-элемент) |
locale | возвращает локаль, используемую для форматирования, специфичного для локали (public функция-элемент) |
out | возвращает итератор на выходной буфер (public функция-элемент) |
advance_to | перемещает выходной итератор в заданную позицию (public функция-элемент) |
std::basic_format_context::arg
std::basic_format_arg<basic_format_context> arg(std::size_t id )const; | ||
Возвращает std::basic_format_arg
, содержащий id
-й аргумент в args
, где args
пакет параметров или объект std::basic_format_args
, передаваемый функции форматирования.
Если id
не меньше количества аргументов форматирования, возвращает созданный по умолчанию std::basic_format_arg
(содержащий объект std::monostate).
std::basic_format_context::locale
std::locale locale(); | ||
Возвращает локаль, переданную в функцию форматирования, или созданный по умолчанию std::locale, если функция форматирования не принимает локаль.
std::basic_format_context::out
iterator out(); | ||
Возвращает итератор на выходной буфер. Результат создаётся перемещением из сохранённого итератора.
std::basic_format_context::advance_to
void advance_to( iterator it ); | ||
Присваивает перемещением it
сохранённому выходному итератору. После вызова advance_to
следующий вызов out()
вернёт итератор со значением, которое it
имело до присваивания.
[править]Пример
Этот раздел не завершён Причина: нет примера |
[править]Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
Номер | Применён | Поведение в стандарте | Корректное поведение |
---|---|---|---|
LWG 3567 | C++20 | basic_format_context не работает с типами итераторовтолько для перемещения | сделано для итераторов перемещения |