Move-construct a basic_socket
from a socket of another protocol type.
template< typename Protocol1, typename Executor1> basic_socket( basic_socket< Protocol1, Executor1 > && other, typename constraint< is_convertible< Protocol1, Protocol >::value &&is_convertible< Executor1, Executor >::value >::type = 0);
This constructor moves a socket from one object to another.
The other basic_socket
object from which the move will occur.
Following the move, the moved-from object is in the same state as if
constructed using the basic_socket(const executor_type&) constructor
.