#### basic_readable_pipe::basic_readable_pipe

Construct a `basic_readable_pipe` without opening it.

    explicit basic_readable_pipe(
        const executor_type & ex);
      » more...

    template<
        typename ExecutionContext>
    explicit basic_readable_pipe(
        ExecutionContext & context,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value, defaulted_constraint >  = defaulted_constraint());
      » more...

Construct a `basic_readable_pipe` on an existing native pipe.

    basic_readable_pipe(
        const executor_type & ex,
        const native_handle_type & native_pipe);
      » more...

    template<
        typename ExecutionContext>
    basic_readable_pipe(
        ExecutionContext & context,
        const native_handle_type & native_pipe,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value >  = 0);
      » more...

Move-construct a `basic_readable_pipe` from another.

    basic_readable_pipe(
        basic_readable_pipe && other);
      » more...

Move-construct a `basic_readable_pipe` from a pipe of another executor type.

    template<
        typename Executor1>
    basic_readable_pipe(
        basic_readable_pipe< Executor1 > && other,
        constraint_t< is_convertible< Executor1, Executor >::value, defaulted_constraint >  = defaulted_constraint());
      » more...