~/talk

Metaprogramming: From Templates to Concepts

Talkat CppNorth 2023 · 2023-07-17..07-19· [compilers-and-language-design]
links:none on file
slides:none on file

Shows that a real container detector first built with C++11–17 using type_traits, decltype/declval, SFINAE, enable_if and void_t becomes far simpler with C++20 concepts. Implements an is_container concept using standard concepts, trailing requires and requires expressions instead of massive metafunctions, yields clearer compiler diagnostics (Clang 12 / GCC 10+), and preserves performance (small compile-time overhead) while making usage like comparing first elements concise and reliable.

AI-written summary · about

  1. 0:00Introduction
  2. 0:50About Alex
  3. 1:40Templates
  4. 2:55Rules for Templates
  5. 3:35Trade Library
  6. 4:20FMT Library
  7. 7:35Trade
  8. 8:20Overload Resolution
  9. 10:05If Constant Expression
  10. 10:45Auto
  11. 12:05Pointer Concept
  12. 12:35Container Detection
  13. 12:55Sfine
  14. 13:20Ellipsis
  15. 16:15EnableIf
  16. 17:00Print
  17. 18:10Const
  18. 18:30Voity
  19. 19:30Nonequal Containers
  20. 23:35Usage
  21. 24:25Problems
  22. 25:45Concept Library
  23. 27:25Integral
  24. 28:50Variables
  25. 30:05Concepts
  26. 31:40Atomic Concepts
  27. 33:15RequireExpression
  28. 34:50RequiredExpression Example
  29. 38:55RequiredExpression
  30. 39:50Usage Inside the Template
  31. 41:30Usage Inside the Parameters
  32. 42:15Generic Lambdas
  33. 42:55Conjunction
  34. 45:45East Container
  35. 48:40Usage Example
  36. 50:15Errors
  37. 52:40Compiler overhead
  38. 54:35Pop quiz
  39. 56:00Add function
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.