### basic_readable_pipe

Provides pipe functionality.

    template<
        typename Executor = any_io_executor>
    class basic_readable_pipe

##### Types

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

##### Member Functions

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

The `basic_readable_pipe` class provides a wrapper over pipe functionality.

##### Thread Safety

Distinct objects: Safe.

Shared objects: Unsafe.

##### Requirements

Header: `asio/basic_readable_pipe.hpp`

Convenience header: `asio.hpp`