The talks James McNellis gave at the Italian C++ Conference 2016 are now online:

One of the most interesting new features being proposed for C++ standardization is coroutines, formerly known as “resumable functions.” C++ coroutines are 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 C++ coroutines. We will begin by looking at the rationale for adding coroutines to the C++ language and then look at several examples that show [1] how to write a coroutine, [2] how to use the extensibility model to adapt existing libraries to work with C++ coroutines, and [3] how coroutines really work “under the hood,” using the Visual C++ implementation as a reference. Finally, we will look briefly at the status of the C++ coroutines proposal and some of the competing ideas.

Slides