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++ on Sea 2025. Delve into the evolution of iterators and ranges in C++, from their origins in the standard library to the revolutionary std::ranges introduced in C++20, which formalized algorithm requirements, enabled lazy views for pipelines, and introduced more powerful iterators. Examine the limitations of current C++ range concepts and discover new kinds of ranges that aren't possible with existing implementations, including compile-time-sized ranges, approximately sized ranges, infinite ranges, and noncontiguous ranges with contiguous chunks. Learn about a significant optimization technique using push-based for_each_while(rng, sink) customization points instead of traditional pull-based iterators, which opens possibilities for ranges no longer constrained by iterators and enables heterogeneous ranges of multiple types. Understand how heterogeneous ranges can revolutionize C++ programming by allowing std::tuple usage in range algorithms, enabling type-based metaprogramming with regular views, and efficiently handling ranges over polymorphic types. Gain insights from Jonathan Müller, a Software Engineer at think-cell and member of the C++ standardization committee who serves as assistant chair for std::ranges, as he presents cutting-edge developments that take the power of ranges to the next level in modern C++ development.
Syllabus
Re-Release: Missing (and future?) C++ Range Concepts - Jonathan Müller - C++ on Sea 2025
Taught by
cpponsea