Есть ли способ избежать повторного анализа и повторной проверки строки формата при каждом вызове std::vformat? В идеале я хотел бы проверить строку формата только один раз, а затем повторно использовать ее для последующих вызовов форматирования, не создавая при этом дополнительных затрат на ее повторный анализ.
Вот упрощенный пример того, что я делаю:
Код: Выделить всё
#include
#include
int main() {
std::string format_str = someRuntimeString + "{}";
// First formatting
std::string result1 = std::vformat(format_str, std::make_format_args(42));
// Second formatting (same format string)
std::string result2 = std::vformat(format_str, std::make_format_args(43));
...
/*
Imaginary code for what I might expect "single-validation" to look like
auto validFormat = std::format_validate(format_str);
std::string result1 = std::vformat(validFormat, std::make_format_args(value));
std::string result2 = std::vformat(validFormat, std::make_format_args(value));
*/
return 0;
}
Есть ли способ предварительно проверить строку формата и повторно использовать ее без повторного анализа каждый раз? Будем очень признательны за любые предложения или обходные пути.
Подробнее здесь: https://stackoverflow.com/questions/793 ... -only-once
Мобильная версия