My experiments with boost::format were brief.
Its downsides for me were weird % delimited/chained syntax, yet
another kind of format specifiers and performance seemed among
worst of alternatives.
Its upsides were that it was type safe and that it supported positional
specifiers (kind of like printfs that are overridden by gettext support of
positional specifiers).
The compilers are warning about type mismatches in printf arguments
and positional specifiers are only ever used for i18n. I18n implies UTF-8
and support of actual tools for human translators. What tool supports
and integrates with boost::format? Without it ... it is major pain to even
reach agreement with any translation company so those upsides left
me indifferent.
> C++20 has something similar (std::format), but for my personal taste
> it is too new and unproven. And different from C tradition for no obvious benefit.
Agreed. The <format> has all the very same issues that <regex> has. It
mentions supporting UTF-8 exactly zero times, has yet another
"innovative" specifiers no tool supports, has no improvements (like
say those positional specifiers) and so who needs it? For what?