Belle Views on C++ Ranges, their Details and the Devil
summary
Claims that C++20 ranges shipped with dangerous specifics: const propagation often fails for views, cached begin computation makes behavior depend on timing and earlier reads, and filter iterators produce undefined behavior when a modification makes elements stop satisfying the predicate. Demonstrations use C++20 tools (Concepts, constraints, threads, stop_token, jthread, atomic_ref), show vector vs list drop/filter differences, and present a Belle Views implementation on GitHub that aims to fix ownership, const propagation and caching; demos compile and run.
AI-written summary · about
chapters (25)
- 0:00Introduction
- 3:00What is possible
- 4:00Random
- 4:35Templates
- 6:10Queues
- 7:55Random Values
- 8:40Random Values as Characters
- 9:20Value Types
- 10:35New Type Trade
- 11:30Template Parameter
- 13:20Rangeless Library
- 14:10Threads
- 15:00Threats
- 16:15Stop Tokens
- 18:35Concurrent Access
- 19:05Atomic Reference
- 20:05Functions
- 21:05Views
- 22:30List
- 23:00Program
- 24:35Compile
- 30:45Drop
- 34:25Linear Computation
- 45:55Questions
- 56:18The Problem
related talks
10mC++ Workshop and Talk Preview With Nicolai Josuttis for C++OnSea 2024
25mHow to Master C++
01h 01mLearning (and teaching) modern C++ - Challenges and Resources
01h 43mCrazy Code, Crazy Coders
26mC++ UNIverse
06mWhat did I learn teaching C++ to beginners
05m10 Things Junior C++ Devs Don't Get
47mLearning (and teaching) modern C++ - Challenges and Resources
