Spec-Zone.ru › C++

std::basic_format_context

Определено в заголовке <format>
template< class OutputIt, class CharT >
class basic_format_context;
(1) (с C++20)
using format_context = basic_format_context</* unspecified */, char>;
(2) (с C++20)
using wformat_context = basic_format_context</* unspecified */, wchar_t>;
(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>

Члены-функции

arg
возвращает аргумент по указанному индексу
(публичная функция-член)
locale
возвращает используемый локали для форматирования, зависящего от локали
(публичная функция-член)
out
возвращает итератор на буфер вывода
(публичная функция-член)
advance_to
перемещает итератор вывода в заданную позицию
(публичная функция-член)

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++.

DR Применён к Поведение, как опубликовано Корректное поведение
LWG 3567 C++20 basic_format_context не работает с итераторами, только поддерживающими перемещение изменено для работы с итераторами, поддерживающими перемещение

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/format/basic_format_context

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API