~/talk

Reflection: Compile-Time Introspection of C++

Talkat ACCU 2021 Online · 2021-03-10..03-13· [c-and-cpp]
links:none on file
slides:none on file

Static reflection for C++ claims compile-time introspection and limited code generation (aiming for C++23/C++26) and ships as a working clang branch on GitHub (log3/meta, branch paper/p2320) and on Compiler Explorer (cppx.godbolt.com). Examples include p2320 syntax using a ^ reflection operator and splice operator to reinsert generated types, an enum-to-string example, JSON-like serialization/deserialization, hashing, and a make_indirect reduces instantiations demo that cuts 43 template specializations to one. Implementation runs but the repo is rough and some examples fail or crash.

AI-written summary · about

  1. 0:00Introduction
  2. 2:53Examples
  3. 12:07Reflection and metaprogramming: final
  4. 12:37Motivation for metaprogramming
  5. 15:23Where static reflection helps
  6. 18:27Generating indirection
  7. 20:22Reflection operator (P2320) Is an expression Produces a comple-time (as in constexpr) value that describes its operand
  8. 21:26Reflection type (P1240)
  9. 23:14Testing our indirection generator
  10. 24:14Reflection library (P1240)
  11. 27:29Making pointers iteratively
  12. 30:30Splice operator
  13. 32:24Splice equation
  14. 33:48A reflective indirection generator
  15. 35:57Expansion statements
  16. 37:17A trivial implementation
  17. 38:50Equivalent specialization
  18. 43:29Serialization algorithm
  19. 44:31Sketch of algorithm
  20. 45:38Serialization as a facility
  21. 46:25The main structure
  22. 47:23Serialization interface
  23. 48:02Serializing base cases
  24. 49:19Serializing composites
  25. 54:02Generic and extensible
  26. 57:55Deserialization
  27. 58:56Deserializing classes
~/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.