std::basic_format_context — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
(1) | (начиная с C++20) |
|
|
(2) | (начиная с C++20) |
|
|
(3) | (начиная с C++20) |
Предоставляет доступ к состоянию форматирования, состоящему из аргументов форматирования и выходного итератора.
Поведение не определено, если OutputIt не моделирует std::output_iterator<const CharT&>.
2) Неуказанный аргумент шаблона это выходной итератор, который добавляется к std::string, например std::back_insert_iterator<std::string>. Реализации обычно используют итератор для типа буфера со стиранием типа, который поддерживает добавление к любому непрерывному контейнеру с изменяемым размером.
3) Неуказанный аргумент шаблона это выходной итератор, который добавляется к std::wstring.
Типы элементы
| Тип | Определение |
iterator
|
OutputIt
|
char_type
|
CharT
|
Элементы псевдонимы шаблонов
| Тип | Определение |
formatter_type<T>
|
std::formatter<T, CharT>
|
Функции-элементы
| возвращает аргумент по заданному индексу (public функция-элемент) | |
| возвращает локаль, используемую для форматирования, специфичного для локали (public функция-элемент) | |
| возвращает итератор на выходной буфер (public функция-элемент) | |
| перемещает выходной итератор в заданную позицию (public функция-элемент) |
std::basic_format_context::arg
<tbody> </tbody>
|
|
||
Возвращает std::basic_format_arg, содержащий id-й аргумент в args, где args пакет параметров или объект std::basic_format_args, передаваемый функции форматирования.
Если id не меньше количества аргументов форматирования, возвращает созданный по умолчанию std::basic_format_arg (содержащий объект std::monostate).
std::basic_format_context::locale
<tbody> </tbody>
Возвращает локаль, переданную в функцию форматирования, или созданный по умолчанию std::locale, если функция форматирования не принимает локаль.
std::basic_format_context::out
<tbody> </tbody>
Возвращает итератор на выходной буфер. Результат создаётся перемещением из сохранённого итератора.
std::basic_format_context::advance_to
<tbody> </tbody>
|
|
||
Присваивает перемещением it сохранённому выходному итератору. После вызова advance_to следующий вызов out() вернёт итератор со значением, которое it имело до присваивания.
Пример
Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 3567 | C++20 | basic_format_context не работает с типами итераторовтолько для перемещения |
сделано для итераторов перемещения |