Files
cppdraft_translate/cppdraft/format/args.md
2025-10-25 03:02:53 +03:00

1.8 KiB

[format.args]

28 Text processing library [text]

28.5 Formatting [format]

28.5.8 Arguments [format.arguments]

28.5.8.3 Class template basic_format_args [format.args]

namespace std {templateclass basic_format_args { size_t size_; // exposition onlyconst basic_format_arg* data_; // exposition onlypublic:template<class... Args> basic_format_args(const format-arg-store<Context, Args...>& store) noexcept;

basic_format_arg get(size_t i) const noexcept; }; template<class Context, class... Args> basic_format_args(format-arg-store<Context, Args...>) -> basic_format_args;}

1

#

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]

🔗

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

2

#

Effects: Initializessize_ with sizeof...(Args) anddata_ with store.args.data().

🔗

basic_format_arg<Context> get(size_t i) const noexcept;

3

#

Returns: i < size_ ? data_[i] : basic_format_arg().