An Overview of Standard Ranges
summary
C++20 adds concept-checked, range-based algorithms, projections (pass a member pointer like Employee::id instead of custom comparators), and lazy views (filter|transform pipelines that don’t allocate and can stream a file without loading it). New unreachable_sentinel lets the compiler drop an inner comparison and in one example yields a reported ~10× inner-loop speedup. Range overloads accept whole containers, give clearer constraint errors, and you can try implementations today with range-v3 or NanoRange and modern GCC/MSVC builds.
AI-written summary · about
chapters (7)
- 0:00Start
- 13:41What is a range, anyway?
- 18:01Concepts
- 30:33Constrained algorithms
- 36:31Range-based overloads
- 39:44Sentinels
- 50:52Projections
related talks
01h 01mAn Overview of Standard Ranges
01h 01mFrom STL to Ranges: Using Ranges Effectively
01h 06mC++20 Ranges in Practice
01h 02mC++20 Ranges in Practice
01h 09mMissing (and future?) C++ Range Concepts
57mRange Algorithms, Views and Actions: A Comprehensive Guide
01h 09mRe-Release: Missing (and future?) C++ Range Concepts
01h 15mHow to Rangify Your Code
