C++ Concepts "Lite" in Practice
summary
Concepts-Lite arrives as a usable TS in the GCC trunk, providing a requires clause and named concepts like equality_comparable that replace many SFINAE hacks. Templates gain clearer diagnostics and constrained overload resolution (constructors can overload on constraints instead of default-parameter tricks), and early adopters report double-digit percent compile-time reductions. The implementation is interoperable with existing headers via abbreviated and full constraint forms and successfully rejects ill-formed instantiations earlier.
AI-written summary · about
chapters (20)
- 0:00Concepts Lite in Practice
- 4:49Run-time polymorphism
- 5:42Comple time polymorphism
- 9:01Template troubles
- 11:39How, and why, did we get here?
- 18:33Ler's build up from a trivial example
- 19:26What about type conversion?
- 20:28Generalising the function
- 21:08General Templatising the function
- 22:34Further extending the template
- 27:24Constraining the template
- 29:11magic.h
- 32:45Using 'requires
- 34:47Using a named concept
- 36:53Using a named variable concept
- 39:19Named concepts
- 47:34Concepts - first reflection
- 48:49Constraints and interfaces
- 50:30Simplifying complex overloads
- 56:38Concepts simplifying overloads
related talks
01h 11mConcepts in 60: Everything you need to know and nothing you don't
01h 07mConcepts As She Is Spoke
54mC++ Concepts for Developers
01h 39m“Concepts: The Future of Generic Programming (the future is here)”
04mConcepts in 5
52mConcepts: The Future of Generic Programming
59mMetaprogramming: From Templates to Concepts
01h 30mRethinking the Way We Do Templates in C++
