Since C++11, the standard includes primitives for asynchronous tasks. Pavel will tell about capabilities that the standard library offers now and that are slated to be added in the future. He will also tell about concurrency::task from PPL as an illustration for possible implementation. He will also cover how using coroutines can make writing and understanding of code much easier (as Gor Nishanov describes it in his proposal, which was voted in C++20) with reference to aforementioned primitives.