~/talk

Reflection

Talkat CppCon 2017 · 2017-09-24..09-29· [compilers-and-language-design, c-and-cpp]
links:none on file
slides:none on file

Static compile-time reflection for C++ aims to turn declarations into usable values for metaprogramming and to project those values back into syntax; two concrete implementations appear: reflexpr as types (P0194/P0385) which creates a compiler-generated class per reflection and forces template metaprogramming, and a Clang prototype using a dollar operator returning values that encodes AST pointers and uses intrinsics like __reflect_name and projection operators (typename, idexpr) to generate code. It builds tuple-like member views, a compile-time unrolling for-loop, works but exposes issues: memory blowup from per-reflection types and surprising behavior around incomplete-type instantiation.

AI-written summary · about

  1. 0:00Intro
  2. 0:45University of Akron
  3. 1:12What to know about Akron
  4. 1:45Background
  5. 2:59Overview
  6. 3:29What is reflection?
  7. 4:13Concepts and operators
  8. 6:57Metaprogramming strategy
  9. 7:27Example
  10. 9:46Why dynamic reflection?
  11. 11:33Meanwhile, in C++...
  12. 12:51Why reflection?
  13. 13:53Static reflection
  14. 14:28Reflection, abstractly
  15. 15:20Projection, abstractly
  16. 17:25Committee work and papers
  17. 18:18Encoding reflections
  18. 19:12Type-based reflection (P0194)
  19. 26:27Reflection operator
  20. 27:48Reflection type
  21. 28:09Encoded reflections
  22. 28:57Meta templates
  23. 29:43Projection intrinsics
  24. 31:30Value projection
  25. 32:44Reflecting lists
  26. 35:53Loop expansion
  27. 37:52Projection operators
  28. 38:30Type projection
  29. 39:06Namespace projection
  30. 39:51Name projection
  31. 41:03Declaration names
  32. 41:31Implementing stringification
  33. 42:41Analysis
  34. 44:46Moving forward...
  35. 45:41Future work
  36. 47:14Questions
  37. 47:33Type-encoded reflection (P0590)
~/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.