### deferred_t

Class used to specify that an asynchronous operation should return a function object to lazily launch the operation.

    class deferred_t

##### Types

Name | Description
--- | ---
executor_with_default | Adapts an executor to add the deferred_t completion token as the default.

##### Member Functions

Name | Description
--- | ---
as_default_on [static] | Function helper to adapt an I/O object to use deferred_t as its default completion token type.
deferred_t [constructor] | Default constructor.
operator() | Creates a new deferred from a function. — Passes through anything that is already deferred.
values [static] | Returns a deferred operation that returns the provided values.
when [static] | Creates a conditional object for branching deferred operations.

The `deferred_t` class is used to indicate that an asynchronous operation should return a function object which is itself an initiation function. A `deferred_t` object may be passed as a completion token to an asynchronous operation, typically using the special value `asio::deferred`. For example:

    auto my_deferred_op
      = my_socket.async_read_some(my_buffer,
          asio::deferred);

The initiating function (async_read_some in the above example) returns a function object that will lazily initiate the operation.

##### Requirements

Header: `asio/deferred.hpp`

Convenience header: `asio.hpp`