Connected features
Papers
14 · Varna 2023 → Brno 2026Adds pointer formatting options (zero padding, uppercase P) to std::format.
Adds compile-time checking that a format spec is valid for the argument's type.
Adds std::runtime_format for format strings only known at run time (DR).
Fixes formatting of char code units as integers ({:d}, {:x} treat them as unsigned) (DR).
Extends runtime format strings to print and println.
Adds a formatter for std::filesystem::path with quoting/escaping options.
Lets std::print write directly to the stream when arguments are locking-safe, permitting an efficient implementation (DR).
Adds std::println() with no arguments to print a blank line.
Extends the efficient std::print path to more standard types.
Fixes path presentation problems in std::format (escaping of non-representable characters).
Makes std::format usable in constant evaluation.
Renames std::runtime_format to a less misleading name.
Fixes encoding issues in std::error_code messages and adds a formatter<std::error_code>.
Fixes the default floating-point representation used by std::format.