~/talk

The Pipes Library: How Plumbing Can Make Your Code More Expressive

Talkat NDC TechTown 2020 · 2020-08-31..09-03· [c-and-cpp]
links:none on file
slides:none on file

Pipes implements a push model for collections in C++ (library on GitHub) that contrasts with ranges’ pull semantics, so a transform runs once per emitted element and avoids the double-evaluation surprise seen with ranges’ transform+filter example; it supports rvalue inputs, zip without tuples, branching to multiple sinks and plugging a pipeline as an STL output iterator (no intermediate container), tested in unit tests (C++14-compatible, operator >>= for composition) and works, with known limits: no end-of-stream signal, no heterogeneous-value storage, and sinks must exist.

AI-written summary · about

  1. 0:00Start
  2. 18:00INSIDE A PIPE
  3. 27:31BRANCHING OUT: FORK
  4. 28:40BRANCHING OUT: UNZIP
  5. 30:04INPUT: RANGES
  6. 31:01INPUT: STL ALGORITHMS
  7. 34:54INPUT: SEVERAL RANGES
  8. 41:31THE CROSSING OVER
  9. 50:19CUSTOM END PIPE
  10. 51:12INTEGRATION IN MAP
  11. 53:28LIMITATIONS
  12. 58:33CONTRIBUTIONS
~/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.