Conference | Live Schedule | Talks | Get your ticket | Slides | Set your timezone
Range adaptors – 5 years after C++20

Hannes Hauswedell
On Day 1 at 13:15 (CET/Berlin) in Track B [Opal Room and online]
C++ range adaptors provide a powerful and expressive, yet concise, way to transform and filter collections of elements. As one of the most significant additions to the C++ standard library, they have themselves transformed how we write Modern C++ today. However, in the five years since their introduction, they have also drawn substantial criticism. Numerous conference talks highlight "scary" examples or argue that the design is fundamentally flawed. Within the standards committee, range adaptors remain one of the most contentious topics, with ongoing debate—even around foundational issues such as the very definition of a range.
Unlike other discussions on the subject, we will neither gloat over the (now more apparent) shortcomings of std::views nor offer a simplistic fix-all solution. Instead, we'll delve into deeper design questions around indirection, ownership, regularity, composability, and const-correctness—uncovering how differing mental models give rise to divergent expectations. By the end, we'll be better prepared to form our own judgements—and appreciate why this remains such a challenging, yet fascinating, problem to solve.
Please login to comment