...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A completion token that represents the currently executing coroutine.
template< typename Executor = executor> struct use_awaitable_t
Name |
Description |
---|---|
The use_awaitable_t
class, with its value use_awaitable
,
is used to represent the currently executing coroutine. This completion token
may be passed as a handler to an asynchronous operation. For example:
awaitable<void> my_coroutine() { std::size_t n = co_await my_socket.async_read_some(buffer, use_awaitable); ... }
When used with co_await, the initiating function (async_read_some
in the above example) suspends the current coroutine. The coroutine is resumed
when the asynchronous operation completes, and the result of the operation
is returned.
Header: boost/asio/use_awaitable.hpp
Convenience header: boost/asio.hpp