~/talk

“Introduction to C++ Coroutines"

Talkat CppCon 2016 · 2016-09-18..09-23· [concurrency]
links:none on file
slides:none on file

Proposal adds stackless coroutines to C++ that suspend and resume with no required overhead, claiming scalability to billions and suspend/resume cost comparable to a function call. Implementation shows a resumable type built from a compiler-generated frame plus a promise object, using await_ready/await_suspend/await_resume to control suspension, suspend_always/suspend_never for immediate or deferred suspend behavior, and a coroutine_handle to resume or destroy. Worked examples include converting sync TCP reads to co_await-based async, making std::future awaitable via a future_awaiter (uses then/get), and a generator via co_yield.

AI-written summary · about

  1. 0:00Introduction
  2. 0:29Proposal
  3. 1:09Motivation
  4. 1:40Demonstration
  5. 6:24Basics
  6. 17:30Coroutine Example
  7. 18:29Coroutine Handle Type
  8. 19:22Coroutine Promise Type
  9. 20:25Coroutine Structure
  10. 21:01Resumable Coroutine
  11. 22:47Questions
  12. 33:42Future
  13. 39:53Yield
  14. 42:56Summary
  15. 47:56Overhead
  16. 50:26Return Type Deduction
~/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.