### any_completion_executor

Polymorphic executor type for use with I/O objects.

    class any_completion_executor :
      public execution::any_executor<... >

##### Member Functions

Name | Description
--- | ---
any_completion_executor [constructor] | Default constructor. — Construct in an empty state. Equivalent effects to default constructor. — Copy constructor. — Move constructor. — Construct to point to the same target as another any_executor. — Construct a polymorphic wrapper for the specified executor.
context | Obtain the underlying execution context.
execute | Execute the function on the target executor.
operator bool | Determine whether the wrapper has a target executor.
operator= | Assignment operator. — Move assignment operator. — Assignment operator that sets the polymorphic wrapper to the empty state.
prefer | Obtain a polymorphic wrapper with the specified property. —
query | Obtain the value associated with the specified property.
require | Obtain a polymorphic wrapper with the specified property.
swap | Swap targets with another polymorphic wrapper.
target | Get a pointer to the target executor.
target_type | Get the type of the target executor.
~any_completion_executor [destructor] | Destructor.

##### Related Functions

Name | Description
--- | ---
operator!= | Inequality operator.
operator== | Equality operator.

The `any_completion_executor` type is a polymorphic executor that supports the set of properties required for the execution of completion handlers. It is defined as the `execution::any_executor` class template parameterised as follows:

    execution::any_executor<
      execution::prefer_only<execution::outstanding_work_t::tracked_t>,
      execution::prefer_only<execution::outstanding_work_t::untracked_t>
      execution::prefer_only<execution::relationship_t::fork_t>,
      execution::prefer_only<execution::relationship_t::continuation_t>
    >

##### Requirements

Header: `asio/any_completion_executor.hpp`

Convenience header: `asio.hpp`