### basic_io_object

Base class for all I/O objects.

    template<
        typename IoObjectService>
    class basic_io_object

##### Types

Name | Description
--- | ---
executor_type | The type of the executor associated with the object.
implementation_type | The underlying implementation type of I/O object.
service_type | The type of the service that will be used to provide I/O operations.

##### Member Functions

Name | Description
--- | ---
get_executor | Get the executor associated with the object.
get_io_context | (Deprecated: Use get_executor().) Get the io_context associated with the object.
get_io_service | (Deprecated: Use get_executor().) Get the io_context associated with the object.

##### Protected Member Functions

Name | Description
--- | ---
basic_io_object [constructor] | Construct a basic_io_object. — Move-construct a basic_io_object. — Perform a converting move-construction of a basic_io_object.
get_implementation | Get the underlying implementation of the I/O object.
get_service | Get the service associated with the I/O object.
operator= | Move-assign a basic_io_object.
~basic_io_object [destructor] | Protected destructor to prevent deletion through this type.

##### Remarks

All I/O objects are non-copyable. However, when using C++0x, certain I/O objects do support move construction and move assignment.

##### Requirements

Header: `asio/basic_io_object.hpp`

Convenience header: `asio.hpp`