Build the Finance Skills That Lead to Promotions — Not Just Certificates
Google Data Analytics, IBM AI & Meta Marketing — All in One Subscription
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
Explore advanced C++ range concepts and their limitations in this conference talk that examines missing functionality and future possibilities in the C++20 ranges library. Delve into the evolution of iterators and ranges from their origins in the C++ standard library through the revolutionary std::ranges introduced in C++20, which formalized algorithm requirements, enabled lazy view pipelines, and introduced more powerful iterators. Discover new kinds of ranges that current C++ range concepts cannot support, including compile-time-sized ranges, approximately sized ranges, infinite ranges, and noncontiguous ranges with contiguous chunks. Learn about a significant optimization opportunity through push-based `for_each_while(rng, sink)` customization points as an alternative to traditional pull-based iterators, which can dramatically improve algorithm efficiency. Examine how this optimization opens possibilities for ranges that transcend iterator constraints, enabling heterogeneous ranges that can handle multiple types simultaneously. Understand how heterogeneous ranges revolutionize range algorithms by allowing types like `std::tuple` to be used directly, enabling type-based metaprogramming with regular views, and providing efficient handling of ranges over polymorphic types, ultimately elevating the power and flexibility of C++ ranges to unprecedented levels.
Syllabus
Missing and future? C++ range concepts - Jonathan Müller - Meeting C++ 2025
Taught by
Meeting Cpp