The 10 Essential Features for the Future of C++ Libraries
summary
Talk lists 18 features (shifted up from the planned 10) and shows concrete changes using a quantities and units library as a running example. It demonstrates proposals already accepted for C++26 (concept-template params, class types as non-type template params, contracts, compile-time throws/diagnostics, reflection) and several still-in-progress ideas (universal template params, spinable concept expressions, value‑preserving conversion trait, CPS package metadata, text scanning/Unicode). Examples include failing constraints turned into readable static messages, NTP encapsulation workarounds, and build/package automation.
AI-written summary · about
chapters (12)
- 0:00C++ library development intro
- 6:10Improving library interfaces with concepts
- 15:44Class types as NTTPs
- 24:19Template parameter kinds and forwarding
- 33:03Universal template parameters
- 40:55Associated namespaces and ADL
- 49:17Type ordering and compile-time optimizations
- 56:26Compile-time code debugging
- 1:00:19Better compile-time error messages
- 1:15:16Safety and text utilities
- 1:23:53Distributing libraries with CPS
- 1:30:59Summary
related talks
01h 13mThe 10 Essential Features for the Future of C++ Libraries
59mC++17 in Breadth (part 1 of 2)
01h 03mC++17 part 2: The Library Features
01h 01mThe Best Parts of C++
01h 01mC++20: What's in it for you?
01h 33mCommittee Fireside Chat
01h 00mC++17, part 1: The Language Features
01h 01mC++ Committee's Library Evolution Working Group
