### windows::basic_stream_handle

Provides stream-oriented handle functionality.

    template<
        typename Executor = any_io_executor>
    class basic_stream_handle :
      public windows::basic_overlapped_handle< Executor >

##### Types

Name | Description
--- | ---
rebind_executor | Rebinds the handle type to another executor.
executor_type | The type of the executor associated with the object.
lowest_layer_type | An overlapped_handle is always the lowest layer.
native_handle_type | The native representation of a handle.

##### Member Functions

Name | Description
--- | ---
assign | Assign an existing native handle to the handle.
async_read_some | Start an asynchronous read.
async_write_some | Start an asynchronous write.
basic_stream_handle [constructor] | Construct a stream handle without opening it. — Construct a stream handle on an existing native handle. — Move-construct a stream handle from another. — Move-construct a stream handle from a handle of another executor type.
cancel | Cancel all asynchronous operations associated with the handle.
close | Close the handle.
get_executor | Get the executor associated with the object.
is_open | Determine whether the handle is open.
lowest_layer | Get a reference to the lowest layer. — Get a const reference to the lowest layer.
native_handle | Get the native handle representation.
operator= | Move-assign a stream handle from another. — Move-assign a stream handle from a handle of another executor type.
read_some | Read some data from the handle.
release | Release ownership of the underlying native handle.
write_some | Write some data to the handle.

The `windows::basic_stream_handle` class provides asynchronous and blocking stream-oriented handle functionality.

##### Thread Safety

Distinct objects: Safe.

Shared objects: Unsafe.

##### Requirements

Header: `asio/windows/basic_stream_handle.hpp`

Convenience header: `asio.hpp`