Overview
Explore a comprehensive conference talk on developing a safer iteration model for C++ presented by Tristan Brindle at C++ on Sea 2023. Delve into the challenges of traditional iterators, including out-of-bounds memory access and unexpected invalidation. Discover Flux, a new C++20 library offering a safer abstraction for sequence iteration while maintaining compatibility with existing code. Examine performance implications, potential benefits over C++20 Ranges, and additional quality-of-life improvements. Gain insights into making codebases more resilient, particularly for those interested in STL, ranges, and algorithms in C++20.
Syllabus
Intro
STL Iteration
What is Safety
Undefined Behavior
Iteration via Indices
Iteration via Signed Indices
Iteration via Min Indices
Flux
Iteration Operations
Sequences
Bounded sequences
Algorithms
Flux Pipelines
Flux Pipeline Example
Flux Sequence Adapters
Implementation
Taught by
cpponsea