~/talk

Pruning Error Messages From Your C++ Template Code

Talkat CppCon 2015 · 2015-09-21..09-25· [compilers-and-language-design]
links:none on file
slides:none on file

Library SQLpp11 generates 18 KB/100-line GCC and 38 KB/~300-line Clang error dumps for a tiny misuse; applying concrete techniques cuts those hundreds of lines to about three. Techniques include portable static_assert types that defer and surface specific checks, tag dispatch to stop compilers running past failures, and a comma-operator pack trick to avoid recursive variadic instantiations. Concepts-lite helps but is currently buggy, enable_if and return-type asserts can worsen noise, and the chosen fixes work at the cost of extra template complexity and some compile-time overhead.

AI-written summary · about

  1. 0:00Introduction to speaker
  2. 1:33The SQL Plus+ library
  3. 4:52Compiler error issues
  4. 6:43Minimizing template use
  5. 9:49Avoiding recursion
  6. 14:08Compile-time checks
  7. 16:47Static assert techniques
  8. 23:46Using enable_if
  9. 25:15Concepts light experiment
  10. 28:32Combining techniques
  11. 31:48Static assert and tag dispatch
  12. 33:43SFINAE and static assert
  13. 35:18Handling unknown checks
  14. 40:54Portable static assertions
  15. 44:11Library safety wrappers
  16. 46:15Summary and Q&A
~/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.