~/talk

From Template Metaprogramming to User Convenience - API Design Stories

Talkat C++Now 2026 · 2026-05-04..05-08· [api-design]
links:none on file
slides:none on file

Two API fixes come from oneDPL/TBB work: first, replacing awkward braced lists with a constructor generator that uses std::array/to_array then an index_sequence trick to produce an N-length parameter pack; that ships and lets callers write ND blocked ranges with fewer braces but forces uniform types for deduction and needs static_assert guards for nicer errors. Second, CTAD for callable-backed class nodes extracts signatures via decltype(&F::operator()) and partial-specialization patterns, supports only unary non-generic callables and overloaded operators are ambiguous without a matching hint — the technique requires many const/ref/noexcept variants.

AI-written summary · about

  1. 0:00Welcome
  2. 1:27Live coding setup
  3. 2:08Blocked range API design
  4. 8:34Initializer lists attempt
  5. 13:56C++17 index sequence
  6. 29:11Deduction guide challenges
  7. 48:18Function node API
  8. 51:07Function node constructor
  9. 1:01:09Lambda signature deduction
  10. 1:15:40Overloaded call operators
  11. 1:19:33Summary
  12. 1:20:59Q&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.