An Introduction to C++ Coroutines

One of the most important new features being proposed for standardization in C++17 is Resumable Functions.  Resumable functions are a form of coroutine designed to be highly scalable, highly efficient (no overhead), and highly extensible, while still interacting seamlessly with the rest of the C++ language.

This session will consist of an in-depth introduction to resumable functions.  We will begin with the design goals of the resumable functions proposal and then discuss several examples to demonstrate how resumable functions work,  how extensibility works and how existing libraries can easily be adapted to work with the resumable functions feature, and some implementation details of the Visual C++ implementation of resumable functions, to show how things really work “under the hood.”

Speaker: James McNellis

Slides: An Introduction to Resumable Functions


Go back