~/talk

Deciphering C++ Coroutines Part 2 - Mastering Asynchronous Control Flow

Talkat CppCon 2024 · on Sunday, 2024-09-15· [nodejs]
slides:none on file

Claims a practical pattern for turning C++20 stackless coroutines into a stackful async model by storing coroutine_handles in promises and linking them into a call-chain, using symmetric transfer to swap frames so callers resume in order, and treating the return object as both return and awaitable. Implements lazy Task-like types, a resume-caller awaitable, and promise-base propagation of a scheduler. Demonstrates debugger-friendly visualization (Visual Studio data watch + std::source_location) and working examples on the slides repository.

AI-written summary · about

  1. 0:00C++ coroutines recap
  2. 5:40Async computation motivation
  3. 8:25Green threads vs coroutines
  4. 14:06Stackless coroutines challenges
  5. 21:56Coroutine stack data structure
  6. 27:02Final suspend and transfer
  7. 33:24Async IO scheduling
  8. 39:31Lazy task spawning
  9. 43:06Promise types for data flow
  10. 45:18Debugging call stacks
  11. 48:31Control flow manipulators
  12. 50:18Future standardization
  13. 51:42Q&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.