◐ Shell
clean mode source ↗

std::basic_format_args — cppreference.com

Материал из cppreference.com

<tbody> </tbody>

Определено в заголовочном файле <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 функция-элемент)
возвращает аргумент форматирования по заданному индексу
(public функция-элемент)

std::basic_format_args::basic_format_args

<tbody> </tbody>

basic_format_args() noexcept;

(1)

template< class... Args > basic_format_args( const /*format-arg-store*/<Context, Args...>& store ) noexcept;

(2)

1) Создаёт объект basic_format_args, который не содержит аргументов форматирования.

2) Создаёт объект 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

<tbody> </tbody>

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).

Правила вывода

<tbody> </tbody>

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 не имеет правила вывода добавлено

Смотрите также

шаблонный класс, который предоставляет доступ к аргументу форматирования для определяемых пользователем средств форматирования
(шаблон класса) [править]