CppCon 2016 has ended
Back To Schedule
Tuesday, September 20 • 3:15pm - 4:15pm
Putting Coroutines to Work with the Windows Runtime

Log in to save this to your schedule, view media, leave feedback 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

Principal Software Engineer, Microsoft Corporation
James McNellis is a Principal Software Engineer at Microsoft where he works on the Time Travel Debugging (TTD) reverse debugging toolkit. Prior to joining the Windows Debuggers team in 2016, he worked on the Visual C++ team and was responsible for the Microsoft C Runtime (CRT) and... Read More →

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