50 lines
1.8 KiB
Markdown
50 lines
1.8 KiB
Markdown
[format.arg.store]
|
||
|
||
# 28 Text processing library [[text]](./#text)
|
||
|
||
## 28.5 Formatting [[format]](format#arg.store)
|
||
|
||
### 28.5.8 Arguments [[format.arguments]](format.arguments#format.arg.store)
|
||
|
||
#### 28.5.8.2 Class template *format-arg-store* [format.arg.store]
|
||
|
||
namespace std {template<class Context, class... Args>class *format-arg-store* { // *exposition only* array<basic_format_arg<Context>, sizeof...(Args)> *args*; // *exposition only*};}
|
||
|
||
[1](#1)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L8659)
|
||
|
||
An instance of *format-arg-store* stores formatting arguments[.](#1.sentence-1)
|
||
|
||
[ð](#lib:make_format_args)
|
||
|
||
`template<class Context = format_context, class... Args>
|
||
format-arg-store<Context, Args...> make_format_args(Args&... fmt_args);
|
||
`
|
||
|
||
[2](#2)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L8669)
|
||
|
||
*Preconditions*: The typetypename Context::template formatter_type<remove_const_t<Ti>>
|
||
meets the *BasicFormatter* requirements ([[formatter.requirements]](formatter.requirements "28.5.6.1 Formatter requirements"))
|
||
for each Ti in Args[.](#2.sentence-1)
|
||
|
||
[3](#3)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L8676)
|
||
|
||
*Returns*: An object of type *format-arg-store*<Context, Args...> whose *args* data member is initialized with{basic_format_arg<Context>(fmt_args)...}[.](#3.sentence-1)
|
||
|
||
[ð](#lib:make_wformat_args)
|
||
|
||
`template<class... Args>
|
||
format-arg-store<wformat_context, Args...> make_wformat_args(Args&... args);
|
||
`
|
||
|
||
[4](#4)
|
||
|
||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L8690)
|
||
|
||
*Effects*: Equivalent to:return make_format_args<wformat_context>(args...);
|