~/talk

Template-less Metaprogramming in C++

Talkat CppCon 2024 · on Sunday, 2024-09-15· [typescript]
links:none on file
slides:none on file

Claim: a template-less metaprogramming style generates and manipulates types using values not angle‑bracket recursion. Implementation is ~100 lines of C++17 that runs on GCC Clang and MSVC, using function-address IDs and friend injection to map values ↔ types. Examples: find_index, type_element, variant_for, packing structs and a sorted unique pass. Benchmarks against std::tuple, boost mp11 and Circle measure 100–1000 elements; Circle is fastest, MP is comparable or faster than mp11 and avoids heavy template recursion, so the approach actually works.

AI-written summary · about

  1. 0:00Introduction
  2. 10:51C++ metaprogramming history
  3. 12:37Finding index in type list
  4. 16:54Value-based metaprogramming
  5. 24:02Variant type filtering
  6. 31:53Testing metaprogramming code
  7. 39:19Implementation overview
  8. 40:41C++26 metaprogramming
  9. 45:38Circle language metaprogramming
  10. 49:55Metaprogramming performance
  11. 58:30Summary
~/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.