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 (публичный член-функция) |
| get | возвращает аргумент форматирования по заданному индексу (публичный член-функция) |
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 ) const noexcept; |
Возвращает 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++.
| DR | Применён к | Поведение, как опубликовано | Правильное поведение |
|---|---|---|---|
| P2216R3 | C++20 |
format_args_t было предоставлено из-за чрезмерного параметрирования vformat_to | удалено |
| LWG3810 | C++20 |
basic_format_args не имеет руководства по выводу | добавлено |
См. также
|
(C++20) | шаблон класса, предоставляющий доступ к аргументу форматирования для пользовательских форматировщиков (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/format/basic_format_args