template<typename Context>
class dynamic_format_arg_store< Context >
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
.
Definition at line 74 of file args.h.
template<typename Context>
template<typename T >
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);
Definition at line 163 of file args.h.
template<typename Context>
template<typename T >
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"
Definition at line 185 of file args.h.