This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
Tuesday, September 20 • 3:15pm - 4:15pm
Putting Coroutines to Work with the Windows Runtime

Log in to save this to your schedule and see who's attending!

Coroutines are one of the hot new features that are being proposed for C++ standardization. They have the potential to revolutionize how we C++ developers work with asynchronous operations, both in terms of consuming long-running operations and in formalizing the way in which asynchronous operations are described by the developer and implemented by the compiler.

The theory is interesting, and "Hello, World" examples are fun, but how does the proposed coroutines feature fare when applied to a major library or operating system? How well does the coroutines feature work in practice with real-world user interface code and background tasks?

In this session, we'll explore the application of the C++ coroutines feature to C++ for the Windows Runtime. We'll look at the coroutine types that we designed for the "C++/WinRT" language projection, with a focus on their usability and performance. Most importantly, we'll look at how coroutines can be used with a sophisticated platform library and discover how various problems are greatly simplified in the face of real platform complexities like UI and threading models.

avatar for Kenny Kerr

Kenny Kerr

Kenny Kerr is an engineer on the Windows team at Microsoft, an MSDN Magazine contributing editor, Pluralsight author, and creator of moderncpp.com (C++/WinRT). He writes at kennykerr.ca and you can find him on Twitter at @kennykerr.
avatar for James McNellis

James McNellis

Senior Software Engineer, Microsoft Visual C++
James McNellis is a senior engineer on the Visual C++ team at Microsoft, where he works on C++ library design and is responsible for the Microsoft C Runtime (CRT) and C Standard Library implementation. He can be found on Twitter at @JamesMcNellis and can be found elsewhere online via http://www.jamesmcnellis.com.

Tuesday September 20, 2016 3:15pm - 4:15pm
Frey (Room 406) Meydenbauer Center