Concept Maps using C++23 Library Tech - Indirection to APIs for a Concept
summary
Shows a C++23 library technique that recreates much of lost "concept map" indirection using inline variable templates plus deducing this and CRTP, giving type-based lookup without ADL and zero runtime overhead. Presents a concrete fringe/binary tree with monoidal tags that can act like vector/deque, priority_queue or map by changing the tag monoid; implementation uses shared_ptr for nodes, emits DOT for debugging, is not self‑balancing, and the prototype compiles and performs as expected at the cost of some syntactic noise.
AI-written summary · about
chapters (13)
- 0:00Introduction to concept maps
- 2:15Alternatives and limitations
- 3:39Example with equality comparable
- 7:35Desired solution requirements
- 12:58Implementing partial equality
- 17:47Monoid concept explained
- 25:12Concept map for monoid
- 33:50Concrete monoid instances
- 36:46Simple usage examples
- 39:20Monoids in trees and data structures
- 46:51Fringe tree implementation
- 59:00Applications and benefits
- 1:03:40Q&A session
related talks
05mConcept Driven Design with Dependency Injection
01h 07mC++20 Concepts: A Day in the Life
58mConcept Based Testing
01h 30mRethinking the Way We Do Templates in C++
01h 00mConcepts in C++20: Revolution or Evolution
58mBetter Code: Runtime Polymorphism
04mConcepts in 5
01h 27mC++20 Templates - the Next Level: Concepts and More
