##### basic_stream_socket::basic_stream_socket (10 of 10 overloads)

Move-construct a `basic_stream_socket` from a socket of another protocol type.

    template<
        typename Protocol1,
        typename Executor1>
    basic_stream_socket(
        basic_stream_socket< Protocol1, Executor1 > && other,
        typename enable_if< is_convertible< Protocol1, Protocol >::value &&is_convertible< Executor1, Executor >::value >::type *  = 0);

This constructor moves a stream socket from one object to another.

###### Parameters

other

  The other `basic_stream_socket` object from which the move will occur.

###### Remarks

Following the move, the moved-from object is in the same state as if constructed using the `basic_stream_socket(const executor_type&)` constructor.