### experimental::coro_traits

The traits describing the resumable coroutine behaviour.

    template<
        typename Yield,
        typename Return,
        typename Executor>
    struct coro_traits

##### Types

Name | Description
--- | ---
completion_handler | Completion handler type used by async_resume.
error_type | The error type of the coroutine. void for noexcept.
input_type | The value that can be passed into a symmetrical cororoutine. void if asymmetrical.
result_type | The type received by a co_await or async_resume. It's a combination of yield and return.
return_type | The type that can be passed out through a co_return.
signature_type | The signature used by the async_resume.
yield_type | The type that can be passed out through a co_yield.

##### Data Members

Name | Description
--- | ---
is_noexcept [static] | Whether or not the coroutine is noexcept.

Template parameter `Yield` specifies type or signature used by co_yield, `Return` specifies the type used for co_return, and `Executor` specifies the underlying executor type.

##### Requirements

Header: `asio/experimental/coro_traits.hpp`

Convenience header: None