More C++ Ranges Please
summary
Proposes concrete additions: merge as a lazy view and varadic multiway merge for sorted ranges to avoid allocating and to merge P sorted streams in O(S log P) instead of sorting S elements, take_between and histogram views for time‑series/ sorted data, an assume_sorted/is_sorted convention or sorted_range concept, and an order (sorting permutation) that emits a permutation plus an apply_permutation view to defer costly swaps and undo reordering later. Examples include the Haunt method rewritten with merge to stream top seats lazily.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:07Libraries in software dev
- 5:27Benefits of writing libraries
- 9:23Writing and finding algorithms
- 16:44C++ Ranges Library intro
- 17:47Composability in Ranges
- 22:43Range views and ranks
- 25:56Algorithm selection with concepts
- 28:48Ranges Library improvements
- 35:54Sorted range views like merge
- 41:09Vocabulary for sorted ranges
- 45:00Sorting with permutations
- 56:41Conclusion
related talks
01h 09mMissing (and future?) C++ Range Concepts
01h 02mC++20 Ranges in Practice
01h 09mRe-Release: Missing (and future?) C++ Range Concepts
01h 06mC++20 Ranges in Practice
57mRange Algorithms, Views and Actions: A Comprehensive Guide
01h 25mC++23 Ranges: Conceptual Changes and Useful Practicalities
01h 01mAn Overview of Standard Ranges
51mWhat Is a Range in C++?
