Concepts driven design
summary
Concepts land in the C++20 draft and claim to give precise, compile‑time interfaces that dramatically improve diagnostics and replace SFINAE plumbing; earlier proposals slowed compilation by 30% slower and were too heavyweight so concepts TS and lighter syntax evolve instead. Examples show emulation in C++14/17 using the detection idiom (decltype void_t variable templates), polymorphic lambdas, and a hand‑rolled type erasure wrapper for runtime polymorphism and mocking that proves practical.
AI-written summary · about
chapters (14)
- 0:00Start
- 5:29Disclaimer
- 6:55Motivation - Well specified interfaces
- 9:02Motivation - Compiler diagnostics
- 17:09Design by introspection
- 18:07Design by introspection - C++20
- 26:24Nared concepts
- 31:21Placeholders
- 34:01Concepts in the C++ ISO standard
- 34:31Concepts and the C++ ISO standard
- 36:47Concepts emulation (C++17)
- 43:08Concepts based design
- 53:19Summary
- 55:07Questions?
related talks
01h 01mthe Concepts of concepts
01h 01mthe Concepts of concepts
12mGood Concepts
56mConcepts - Evolution or Revolution
53mFrom C++ Templates to C++ Concepts - Metaprogramming: an Amazing Journey
01h 01mUsing Modern C++ to Eliminate Virtual Functions
53mCan C++ Data-oriented-design be Improved?
01h 01mDocumentation in the Era of Concepts and Ranges
