Localization library | |||||||||||||||||||||||||
Regular expressions library(C++11) | |||||||||||||||||||||||||
Formatting library(C++20) | |||||||||||||||||||||||||
Null-terminated sequence utilities | |||||||||||||||||||||||||
Byte strings | |||||||||||||||||||||||||
Multibyte strings | |||||||||||||||||||||||||
Wide strings | |||||||||||||||||||||||||
Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Text encoding identifications | |||||||||||||||||||||||||
|
Standard format specification | ||||
Formatting functions | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
Format strings | ||||
(C++20)(C++20)(C++20) | ||||
(C++26) | ||||
Formatting concepts | ||||
(C++23) | ||||
Formatter | ||||
(C++20) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++20)(C++20)(C++20) | ||||
(C++20)(C++20)(C++20) | ||||
(C++23) | ||||
(C++23) | ||||
Formatting arguments | ||||
(C++20) | ||||
(C++20) | ||||
basic_format_argsformat_argswformat_args (C++20)(C++20)(C++20) | ||||
(C++20)(deprecated in C++26) | ||||
(C++20)(C++20) | ||||
Format error | ||||
(C++20) |
Defined in header <format> | ||
template<class Context> class basic_format_args; | (1) | (since C++20) |
using format_args= basic_format_args<std::format_context>; | (2) | (since C++20) |
using wformat_args= basic_format_args<std::wformat_context>; | (3) | (since C++20) |
Provides access to formatting arguments.
Contents |
(constructor) | constructs abasic_format_args object(public member function) |
get | returns formatting argument at the given index (public member function) |
template<class...Args> basic_format_args(const/*format-arg-store*/<Context, Args...>& store)noexcept; | ||
Constructs abasic_format_args
object from the result of a call tostd::make_format_args orstd::make_wformat_args.
std::basic_format_arg<Context> get(std::size_t i)constnoexcept; | ||
Returns astd::basic_format_arg holding thei-th argument inargs
, whereargs
is the parameter pack passed tostd::make_format_args orstd::make_wformat_args.
If there's no such formatting argument (i.e.*this was default-constructed ori is not less than the number of formatting arguments), returns a default-constructedstd::basic_format_arg (holding astd::monostate object).
template<class Context,class...Args> basic_format_args(/*format-arg-store*/<Context, Args...>)-> basic_format_args<Context>; | (since C++20) | |
std::basic_format_args
has reference semantics. It is the programmer's responsibility to ensure that*this does not outlivestore (which, in turn, should not outlive the arguments tostd::make_format_args orstd::make_wformat_args).
This section is incomplete Reason: no example |
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
P2216R3 | C++20 | format_args_t was provided due to overparameterization ofvformat_to | removed |
LWG 3810 | C++20 | basic_format_args has no deduction guide | added |
LWG 4106 | C++20 | basic_format_args was default-constructible | default constructor removed |
(C++20) | class template that provides access to a formatting argument for user-defined formatters (class template)[edit] |