![]() |
SimulationCraft
SimulationCraft is a tool to explore combat mechanics in the popular MMO RPG World of Warcraft (tm).
|
A dynamic version of fmt::format_arg_store.
More...
#include <args.h>
Public Member Functions | |
| template<typename T > | |
| void | push_back (const T &arg) |
| Adds an argument into the dynamic store for later passing to a formatting function. More... | |
| template<typename T > | |
| void | push_back (std::reference_wrapper< T > arg) |
| Adds a reference to the argument into the dynamic store for later passing to a formatting function. More... | |
| template<typename T > | |
| void | push_back (const detail::named_arg< char_type, T > &arg) |
| Adds named argument into the dynamic store for later passing to a formatting function. More... | |
| void | clear () |
| Erase all elements from the store. | |
| void | reserve (size_t new_cap, size_t new_cap_named) |
| Reserves space to store at least new_cap arguments including new_cap_named* named arguments. More... | |
Friends | |
| class | basic_format_args< 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 ~fmt::vformat.
|
inline |
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);
|
inline |
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"
|
inline |
Adds named argument into the dynamic store for later passing to a formatting function.
std::reference_wrapper is supported to avoid copying of the argument. The name is always copied into the store.
|
inline |
Reserves space to store at least new_cap arguments including new_cap_named* named arguments.