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
&
>
.
Программа, которая объявляет явную или частичную специализацию
std::basic_format_context
, является некорректной, диагностика не требуется.
std::basic_format_context
объекты могут создаваться только реализацией. Пользовательскому коду разрешено изменять контекст форматирования только через
format
функцию специализаций
std::formatter
.
Содержание |
Типы членов
| Тип | Определение |
iterator
|
OutputIt
|
char_type
|
CharT
|
Шаблоны псевдонимов членов
| Тип | Определение |
| formatter_type < T > | std:: formatter < T, CharT > |
Функции-члены
|
(constructor)
[deleted]
|
basic_format_context
не может быть создан пользовательским кодом
(public member function) |
|
operator=
[deleted]
|
basic_format_context
не может быть присвоен
(public member function) |
|
arg
|
возвращает аргумент по заданному индексу
(public member function) |
|
locale
|
возвращает локаль, используемую для локализованного форматирования
(public member function) |
|
out
|
возвращает итератор выходного буфера
(public member function) |
|
advance_to
|
перемещает выходной итератор в заданную позицию
(public member function) |
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
не работает с типами итераторов только для перемещения
|
изменено для перемещения итераторов |
| LWG 3975 | C++20 |
пользовательская специализация
basic_format_context
была разрешена
|
запрещена |
| LWG 4061 | C++20 |
basic_format_context
был конструируемым и присваиваемым пользовательским кодом
|
сделан ни конструируемым, ни присваиваемым |