std::basic_format_args
Определено в заголовочном файле <format> | ||
template<class Context > class basic_format_args; | (1) | (начиная с C++20) |
using format_args = basic_format_args<std::format_context>; | (2) | (начиная с C++20) |
using wformat_args = basic_format_args<std::wformat_context>; | (3) | (начиная с C++20) |
Предоставляет доступ к аргументам форматирования.
Содержание |
[править]Функции-элементы
(конструктор) | создаёт объект basic_format_args (public функция-элемент) |
get | возвращает аргумент форматирования по заданному индексу (public функция-элемент) |
std::basic_format_args::basic_format_args
basic_format_args()noexcept; | (1) | |
template<class... Args> basic_format_args(const/*format-arg-store*/<Context, Args...>& store )noexcept; | (2) | |
basic_format_args
, который не содержит аргументов форматирования.basic_format_args
из результата вызова std::make_format_args или std::make_wformat_args. std::basic_format_args
имеет ссылочную семантику. Программист несёт ответственность за то, чтобы *this не пережил store (который, в свою очередь, не должен пережить аргументы std::make_format_args или std::make_wformat_args).
std::basic_format_args::get
std::basic_format_arg<Context> get(std::size_t i )constnoexcept; | ||
Возвращает std::basic_format_arg, содержащий i-й аргумент в args
, где args
это пакет параметров, переданный в std::make_format_args или std::make_wformat_args.
Если такого аргумента форматирования нет (т.е. *this был создан по умолчанию или i не меньше, чем количество аргументов форматирования), возвращает созданный по умолчанию std::basic_format_arg (содержащий объект std::monostate).
[править]Правила вывода
template<class Context, class... Args> basic_format_args(/*format-arg-store*/<Context, Args...>)-> basic_format_args<Context>; | (начиная с C++20) | |
[править]Пример
Этот раздел не завершён Причина: нет примера |
[править]Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
Номер | Применён | Поведение в стандарте | Корректное поведение |
---|---|---|---|
WG не указан | C++20 | format_args_t предоставлен из-за чрезмерной параметризации vformat_to | удалён |
WG не указан | C++20 | basic_format_args не имеет правила вывода | добавлено |
[править]Смотрите также
(C++20) | шаблонный класс, который предоставляет доступ к аргументу форматирования для определяемых пользователем средств форматирования (шаблон класса) |