Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore advanced C++ range concepts and future possibilities in this conference talk from C++Now 2025. Delve into the evolution of iterators and ranges in C++, from their origins in the standard library to the powerful std::ranges introduced in C++20, and examine the limitations of current range concepts that prevent certain types of ranges from being implemented. Learn about compile-time-sized, approximately sized, and infinite ranges, as well as noncontiguous ranges with contiguous chunks that aren't supported by existing C++ range concepts. Discover optimization techniques using push-based for_each_while(rng, sink) customization points instead of traditional pull-based iterators to significantly improve algorithm efficiency. Investigate heterogeneous ranges that can handle multiple types, enabling the use of std::tuple in range algorithms, type-based metaprogramming with regular views, and efficient processing of ranges over polymorphic types. Gain insights into how these concepts could liberate ranges from iterator constraints and unlock new possibilities for C++ programming, presented by Jonathan Müller, a Software Engineer at think-cell and chair of the std::ranges study group in the C++ standardization committee.
Syllabus
Missing (and Future?) C++ Range Concepts - Jonathan Müller - C++Now 2025
Taught by
CppNow