What is the best API for combining C ++ 11 async / futures with Windows asynchronous IO?


Especially the upcoming Windows 8 (with Metro) will require that any IO is programmed asynchronously. In C#/.Net there seems to be special await and such like constructs for that and the JavaScript API will have its own mechanism for that to work.

What will be the C++11-integration for that? Is the a concise example (eg. reading an image from a file for display?) for modern (or upcoming) Windows? If it's using C++11 features I would expect that async or future is involved?

The Tips and tricks for developing Metro style apps using C++ presentation covers this at 59:13. The raw interface uses callback objects. In practice, people are likely to use the simplified interface offered by PPL.