~/talk

C++23 Ranges: Conceptual Changes and Useful Practicalities

Talkat ACCU 2023 · 2023-04-19..04-22· [c-and-cpp]
links:none on file
slides:none on file

C++23 changes let views own their elements while remaining cheap to pass, enabling code that moves temporaries into adaptors instead of forcing lvalues; the demo builds a working calendar using std::chrono dates, std::generator and a custom concat implemented with generators, printing via the new format support (clang currently implements range formatting), windowing views like chunk/slide/stride and chunk_by, zip/zip_transform, the range-to-container adapter (to), and new fold variants (fold_left/fold_right/fold_left_first). The calendar and an infinite-year mode compile and run.

AI-written summary · about

  1. 0:00Introduction
  2. 0:39History of Ranges
  3. 1:59Recap
  4. 3:17First
  5. 3:42InputOutput Iterator
  6. 4:35Last
  7. 4:53Sentinel
  8. 5:29Range
  9. 9:30View
  10. 10:31Empty View
  11. 10:53Empty Factory
  12. 11:57Before Ranges
  13. 13:08Pipe Operator
  14. 14:29Calendar
  15. 16:36Visualization
  16. 17:28print
  17. 19:47example
  18. 20:48more customization
  19. 21:39format ranges
  20. 22:16chunk view
  21. 22:42slide view
  22. 23:20generic algorithm
  23. 24:49windowed
  24. 25:17chunkby
  25. 27:10STD Generator
  26. 27:52Fibonacci Example
  27. 28:30Generator Types
  28. 30:11Elements of
  29. 30:41recursive generator
  30. 34:05Conceptual Changes
  31. 40:50Owning View
  32. 43:38Compile Event
  33. 44:08Concat View
  34. 45:01Range Adapter
  35. 46:07Closure Object
  36. 48:06Range Adapter Closure
  37. 48:51Range Closure Helper
  38. 50:33Range Adapter Helper
  39. 52:03Writing the Calendar
  40. 55:11Summary
  41. 57:01Examples
~/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.