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