std:: basic_format_arg
|
Определено в заголовке
<format>
|
||
|
template
<
class
Context
>
class basic_format_arg ; |
(начиная с C++20) | |
Обеспечивает доступ к аргументу форматирования.
basic_format_arg
объекты обычно создаются с помощью
std::make_format_args
и доступны через
std::visit_format_arg
или функции-члены
visit
(начиная с C++26)
.
Объект
basic_format_arg
ведет себя так, как если бы он содержал
std::variant
следующих типов:
- std:: monostate (только если объект был создан по умолчанию)
- bool
- Context :: char_type
- int
- unsigned int
- long long int
- unsigned long long int
- float
- double
- long double
- const Context :: char_type *
- std:: basic_string_view < Context :: char_type >
- const void *
- basic_format_arg :: handle
Содержание |
Классы-члены
|
(C++20)
|
тип-стирающая оболочка, позволяющая форматировать объекты пользовательских типов
(публичный класс-член) |
Функции-члены
|
(конструктор)
(C++20)
|
создает объект
std::basic_format_arg
(публичная функция-член) |
|
operator bool
(C++20)
|
проверяет, содержит ли текущий объект аргумент форматирования
(публичная функция-член) |
|
visit
(C++26)
|
посещает содержащийся аргумент форматирования
(публичная функция-член) |
Функции, не являющиеся членами класса
|
(C++20)
(deprecated in C++26)
|
интерфейс посещения аргументов для пользовательских форматтеров
(шаблон функции) |
std::basic_format_arg:: basic_format_arg
|
basic_format_arg
(
)
noexcept
;
|
(начиная с C++20) | |
Конструктор по умолчанию. Создает объект
basic_format_arg
, который не содержит аргумента форматирования. Содержимый объект имеет тип
std::monostate
.
Для создания объекта
basic_format_arg
, содержащего аргумент форматирования,
необходимо использовать функцию
std::make_format_args
.
std::basic_format_arg:: operator bool
|
explicit
operator
bool
(
)
const
noexcept
;
|
(since C++20) | |
Проверяет, содержит ли * this аргумент форматирования.
Возвращает true если * this содержит аргумент форматирования (т.е. содержащийся объект не имеет тип std::monostate ), false в противном случае.
std::basic_format_arg:: visit
|
template
<
class
Visitor
>
decltype ( auto ) visit ( this basic_format_arg arg, Visitor && vis ) ; |
(1) | (since C++26) |
|
template
<
class
R,
class
Visitor
>
R visit ( this basic_format_arg arg, Visitor && vis ) ; |
(2) | (since C++26) |
Применяет посетитель vis к объекту, содержащемуся в arg .
Функции
visit
не изменяют объект
basic_format_arg
, для которого они вызываются, поскольку при вызове
vis
используется копия объекта.
v
— это
std::variant
, содержащийся в
arg
.
v
— это
std::variant
, содержащийся в
arg
.
Примечания
| Макрос тестирования возможностей | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_format
|
202306L
|
(C++26) |
Функция-член
visit
|
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++20)
(C++20)
(C++20)
|
класс, предоставляющий доступ ко всем аргументам форматирования
(шаблон класса) |