template<typename Context>
class dynamic_format_arg_store< Context >
\rst A dynamic version of fmt::format_arg_store
. It's equipped with a storage to potentially temporary objects which lifetimes could be shorter than the format arguments object.
It can be implicitly converted into ~fmtbasic_format_args
for passing into type-erased formatting functions such as ~fmtvformat
. \endrst
Definition at line 75 of file args.h.
template<typename Context >
template<typename T >
\rst Adds an argument into the dynamic store for later passing to a formatting function.
Note that custom types and string types (but not string views) are copied into the store dynamically allocating memory if necessary.
Example**::
fmt::dynamic_format_arg_store<fmt::format_context> store; store.push_back(42); store.push_back("abc"); store.push_back(1.5f); std::string result = fmt::vformat("{} and {} and {}", store); \endrst
Definition at line 166 of file args.h.
template<typename Context >
template<typename T >
\rst
Adds a reference to the argument into the dynamic store for later passing to
a formatting function.
Example**::
fmt::dynamic_format_arg_store<fmt::format_context> store;
char band[] = "Rolling Stones";
store.push_back(std::cref(band));
band[9] = 'c'; // Changing str affects the output.
std::string result = fmt::vformat("{}", store);
result == "Rolling Scones" \endrst
Definition at line 188 of file args.h.