Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

experimental::use_coro_t::executor_with_default::default_completion_token_type

Specify use_coro_t as the default completion token type.

typedef use_coro_t default_completion_token_type;
Types

Name

Description

executor_with_default

Adapts an executor to add the use_coro_t completion token as the default.

Member Functions

Name

Description

as_default_on [static]

Function helper to adapt an I/O object to use use_coro_t as its default completion token type.

use_coro_t [constructor]

Default constructor.

Constructor used to specify file name, line, and function name.

The use_coro_t class, with its value use_coro, is used to represent an operation that can be awaited by the current resumable coroutine. This completion token may be passed as a handler to an asynchronous operation. For example:

coro<void> my_coroutine(tcp::socket my_socket)
{
  std::size_t n = co_await my_socket.async_read_some(buffer, use_coro);
  ...
}

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.

Requirements

Header: boost/asio/experimental/use_coro.hpp

Convenience header: None


PrevUpHomeNext