The Surprising Complexity of Formatting Ranges in Cpp
summary
Argument: adding range and tuple support to std::format and {fmt} exposes many concrete edge cases not solved by restating the topic. The work shows a C++23 range-formatter standardized, a retargeted_format_context pattern to do alignment into temporary buffers, a defect fix to take forwarding references so generators and filter views format, defaults (square brackets, quoted+escaped strings), and unresolved choices like tuple element delimiters and delimiter specifiers. Implementations and compiler‑explorer proofs exist and the core features compile and run.
AI-written summary · about
chapters (7)
- 0:00Start
- 13:47Dynamic Parsing in (fmt)
- 16:42A formatter for optional
- 21:22A format-spec for Ranges
- 23:34Implementing formatter for Ranges
- 37:35Adding top-level specifiers: delimiter
- 46:59P2286: Formatting Ranges
related talks
59mRange-Based Text Formatting - For a Future Range-Based Standard Library
01h 25mC++23 Ranges: Conceptual Changes and Useful Practicalities
01h 09mMissing (and future?) C++ Range Concepts
01h 00mThe C++20 Standard Library: Beyond Ranges
01h 01mFrom STL to Ranges: Using Ranges Effectively
01h 30mTaming C++23 - The Things About C++23 You Do Not Know
01h 01mAn Overview of Standard Ranges
01h 02mC++20 Ranges in Practice
