references/sources.md
Sources and further reading
Where the guidance in this skill comes from. Where sources conflicted, the standard, the reference implementation's own documentation, and the C++ Core Guidelines won, in that order.
Standing references
- C++ Core Guidelines, Stroustrup and Sutter - the ownership, lifetime, and class-design rules here are the house subset of these
- cppreference.com - the accurate one. Prefer it to any blog for what a function actually does
- C++ Standards Committee papers (WG21) - what is in each standard, and why
Books worth owning: Scott Meyers, Effective Modern C++ (still the best treatment of move semantics and forwarding); Klaus Iglberger, C++ Software Design (the variant versus virtual chapter in particular); Anthony Williams, C++ Concurrency in Action (the memory model, done properly).
Senders and std::execution
The references/senders.md material was read from a clone of the reference implementation, not from blog posts, so the API shapes match what actually compiles: NVIDIA/stdexec at commit f0e8ae6 (2026-07-27), specifically docs/source/{index,user,developer,reference}/index.rst and include/stdexec/__detail/{__basic_sender,__sender_concepts,__then,__task,__counting_scopes}.hpp.
- NVIDIA/stdexec and its docs
- P2300,
std::execution - P3109, A plan for std::execution for C++26
- P3149,
async_scope - P3552, Add a Coroutine Task Type
- Senders/Receivers: An Introduction, L. R. Teodorescu, ACCU Overload 32/184
- Using Senders/Receivers, L. R. Teodorescu, ACCU Overload 33/185
- bemanproject/execution - the conformance-focused second implementation
- Trip report: June 2025 ISO C++ meeting, Herb Sutter - the C++26 feature freeze
Compile-time pipelines
- Eliminating the Static Overhead of Ranges, vector-of-bool - the source of the static-overhead framing and the cost table
- Compile time pipeline in C++, palikar.github.io - the variadic-inheritance-plus-fold technique
- P2011, A pipeline-rewrite operator, B. Revzin
- P2996, Reflection for C++26
- CTRE, Hana Dusikova and P1433
- ClangBuildAnalyzer, Aras Pranckevicius
Build and tooling
- Modern CMake - the target-based model
- CMake Presets
- cppbestpractices, Jason Turner - the warning flag list started here
- Sanitizers
- libc++ hardening modes and libstdc++
_GLIBCXX_ASSERTIONS - clang-tidy checks
A note on verification
This skill is guidance for writing C++, not a tested library. The code in it is illustrative: it shows the shape of the correct answer, and the standard-library and stdexec APIs it names were read from cppreference and from the implementation's own headers rather than recalled. Treat any snippet as a starting point to compile in your own tree, not as something already built.