Concepts - Evolution or Revolution
summary
Argues that C++20 Concepts are both evolution and revolution and demonstrates concrete effects: uses C++20 requires clause, abbreviated function templates, and the detection idiom plus type_traits to build concepts like equal, ordering and regular/semi‑regular, constrains a GCD to integral types, and shows std::sort overloads picking the best iterator implementation. Error messages shrink (about 50 lines down to ~2) and concept-based overload resolution and compile‑time predicates work as shown with std::list, vector and unordered_set.
AI-written summary · about
chapters (38)
- 0:00Intro
- 0:36First overview
- 1:27Strange observation
- 2:28Wrong way
- 3:27Concepts
- 4:28First Impressions
- 5:33History
- 6:16Boring Stuff
- 6:28Is sortable
- 7:33What can we do
- 8:51Apply concepts to classes
- 9:30Pushback
- 11:23Declaration
- 12:12Overload
- 13:32Specialization
- 14:12Generic Lambda
- 16:54Unified Syntax
- 17:22Concept Integral
- 18:29Simple rule
- 19:53Syntax sugar
- 20:25Function templates
- 21:58C compiler
- 23:07Concept overload
- 24:06Template integrity
- 25:40Auto
- 26:06Speed
- 26:18Modular spelling
- 27:25Irradiation
- 28:29Draft Syntax
- 28:42Concept Equal
- 32:22Haskell
- 32:54Hesketh
- 35:15Unordered set
- 35:44Regular type
- 39:06Semiregular
- 40:13Miracle
- 40:58Evolution or Revolution
- 48:50Defining a concept
related talks
01h 01mthe Concepts of concepts
01h 01mthe Concepts of concepts
59mConcepts driven design
12mGood Concepts
53mFrom C++ Templates to C++ Concepts - Metaprogramming: an Amazing Journey
01h 00mC++ Concepts and Ranges
01h 01mDocumentation in the Era of Concepts and Ranges
01h 01mUsing Modern C++ to Eliminate Virtual Functions
