22 General utilities library [utilities]
namespace std {
template<class Context>
class basic_format_args {
size_t size_;
const basic_format_arg<Context>* data_;
public:
basic_format_args() noexcept;
template<class... Args>
basic_format_args(const format-arg-store<Context, Args...>& store) noexcept;
basic_format_arg<Context> get(size_t i) const noexcept;
};
template<class Context, class... Args>
basic_format_args(format-arg-store<Context, Args...>) -> basic_format_args<Context>;
}
An instance of
basic_format_args provides access to formatting
arguments
. Implementations should
optimize the representation of
basic_format_args
for a small number of formatting arguments
. [
Note 1:
For example, by storing indices of type alternatives separately from values
and packing the former
. —
end note]
Effects: Initializes
size_ with
0. Effects: Initializes
size_ with
sizeof...(Args) and
data_ with
store.args.data(). Returns:
i < size_ ? data_[i] : basic_format_arg<Context>().