The Surprising Complexity of Formatting Ranges
With the large popularity of {fmt} and the adoption of std::format for C++20, we want to add support for formatting ranges (and tuples) into the standard library. This seems easy enough. After all, how hard could it be to add support for formatting a range?
This talk will start by introducing the std::format API and how it meaningfully differs from the ostream API. Then, we will delve into the technical hurdles of implementing format's feature-rich API for ranges and, with even more difficulty, tuples. By way of this journey, the talk will introduce the library facility that will be standardized for C++23 as well as some ideas of what may still need to be done in the future.
Barry Revzin
Barry is a senior C++ developer at Jump Trading in Chicago, a research and technology driven trading firm. After programming for many years, he got really into the nuances and intricacies of C++ by being unreasonably active on StackOverflow (where is he is the top contributor in C++14, C++17, C++20, and now C++23). A lot of his C++ knowledge comes from just answering questions that he doesn’t know the answers to, especially when he answers them incorrectly at first.
His C++ involvement escalated when he started attending standards committee meetings in 2016, having written dozens of papers for C++20 and C++23. You might know him from such features as <=>, pack expansion in lambda init-capture, explicit(bool), conditionally trivial special member functions, if consteval, and deducing this, as well as several constexpr and ranges papers.
Outside of the C++ world, Barry is an obsessive swimming fan. He writes fun data articles for SwimSwam and also does analysis for the DC Trident, a professional swim team with Olympic Gold Medalists Zach Apple and Anna Hopkin.