Boost.Format
boost::format gives you type-safe, positional string formatting using a printf-inspired
boost::format gives you type-safe, positional string formatting using a printf-inspired
The C standard library is written as though a process exists. printf writes to a file descriptor. malloc asks the kernel for more address space. exit tells a parent that a child finished. fopen needs a filesystem, time needs a clock somebody set, errno needs somewhere thread-local to live. On a Cortex-M4 with no OS, not one of those things is true — and yet #include compiles fine and printf links, because the library was built with the bottom of every one of those paths left as a hole for you to fill.
The two incumbents fail in opposite directions — printf trades safety for speed and brevity,