Using Algorithms and Views
Implement modern C++23 data processing with views and algorithms. Reduce boilerplate while improving correctness and performance
Updated
1
The Four Algorithm Families
The Producer-Consumer model of C++20 Ranges and the hardware implications of eager vs lazy evaluation.
2
Sorting and Materialization
Integrate sorting into C++20 pipelines, the difference between stable and unstable sorts, and how to use partial sorting.
3
Comparators and Projections
Learn how C++20 Projections allow us to separate sorting logic from data layout, the mechanics of
std::invoke and the hardware reality of sorting large objects.4
Proxy Sort and Structure of Arrays
Learn why sorting large objects is slow, and how to optimize it using Proxy Sorting and Data-Oriented Design (SoA).
5
Composition, Zipping, and Indicies
Iterate multiple containers simultaneously with
zip, handle indices with enumerate, and skip elements with drop and stride.