### basic_socket_iostream

Iostream interface for a socket.

    template<
        typename Protocol,
        typename Clock = chrono::steady_clock,
        typename WaitTraits = wait_traits<Clock>>
    class basic_socket_iostream

##### Types

Name | Description
--- | ---
clock_type | The clock type.
duration | The duration type.
duration_type | (Deprecated: Use duration.) The duration type.
endpoint_type | The endpoint type.
protocol_type | The protocol type.
time_point | The time type.
time_type | (Deprecated: Use time_point.) The time type.

##### Member Functions

Name | Description
--- | ---
basic_socket_iostream [constructor] | Construct a basic_socket_iostream without establishing a connection. — Construct a basic_socket_iostream from the supplied socket. — Move-construct a basic_socket_iostream from another. — Establish a connection to an endpoint corresponding to a resolver query.
close | Close the connection.
connect | Establish a connection to an endpoint corresponding to a resolver query.
error | Get the last error associated with the stream.
expires_after | Set the stream's expiry time relative to now.
expires_at | (Deprecated: Use expiry().) Get the stream's expiry time as an absolute time. — Set the stream's expiry time as an absolute time.
expires_from_now | (Deprecated: Use expiry().) Get the stream's expiry time relative to now. — (Deprecated: Use expires_after().) Set the stream's expiry time relative to now.
expiry | Get the stream's expiry time as an absolute time.
operator= | Move-assign a basic_socket_iostream from another.
rdbuf | Return a pointer to the underlying streambuf.
socket | Get a reference to the underlying socket.

##### Requirements

Header: `asio/basic_socket_iostream.hpp`

Convenience header: `asio.hpp`