~/talk

Conquering C++20 Ranges

Talkat CppCon 2021 · on Thursday, 2021-10-28· at 15:15· Online E, online· [frontend-architecture]
slides:none on file

C++20 Ranges get concrete: author builds a reusable fibonacci view (infinite subrange from an iterator), implements a custom drop_last_while view that caches the computed end to make end amortized-constant, and writes a simple chain view so rotate can operate across two containers without copying into a big temporary. Code compiles with gcc11 (concept static_asserts show missing pieces), adapters work but need viewable/bi‑directional constraints, third‑party pipe syntax is not yet portable, and some iterator/view boilerplate is required.

AI-written summary · about

  1. 0:00Intro
  2. 1:05Background
  3. 1:40Introduction
  4. 3:18Agenda
  5. 4:21Topics
  6. 5:06Fun
  7. 5:18Problem Statement
  8. 5:49Fibonacci Sequence
  9. 6:39fibfun
  10. 13:44Static assert
  11. 15:33Updating iterators
  12. 21:11Rewriting the Function
  13. 23:48String Trimming Revisited
  14. 27:16Class Template
  15. 28:55Member Variables
  16. 29:45Semantic Constraints
  17. 31:28Bidirectional Range
  18. 31:56Indirect Predicate
  19. 32:38BeginEnd Operations
  20. 34:47FindIfNot
  21. 35:44Temporary Views
  22. 36:43Semantic Retirement Requirements
  23. 38:44End Function
  24. 39:45Factory Function
  25. 41:47Drop Last While View
  26. 43:38P2387
  27. 48:40cyclic shift
  28. 51:44inherit from view
  29. 53:10Boilerplate
  30. 56:22Iterators
  31. 58:00Input Iterator
~/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.