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 ) 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++:
Номер | Применён | Поведение в стандарте | Корректное поведение |
---|---|---|---|
WG не указан | C++20 | format_args_t предоставлен из-за чрезмерной параметризации vformat_to
|
удалён |
WG не указан | C++20 | basic_format_args не имеет правила вывода
|
добавлено |
[править] Смотрите также
(C++20) |
шаблонный класс, который предоставляет доступ к аргументу форматирования для определяемых пользователем средств форматирования (шаблон класса) |