18 Sockets [socket]

18.8 Class template basic_stream_socket [socket.stream]

18.8.2 basic_stream_socket assignment [socket.stream.assign]

basic_stream_socket& operator=(basic_stream_socket&& rhs);

Effects: Equivalent to basic_socket<Protocol>::operator=(std::move(rhs)).

Returns: *this.

template<class OtherProtocol> basic_stream_socket& operator=(basic_stream_socket<OtherProtocol>&& rhs);

Requires: OtherProtocol is implicitly convertible to Protocol.

Effects: Equivalent to basic_socket<Protocol>::operator=(std::move(rhs)).

Returns: *this.

Remarks: This assignment operator shall not participate in overload resolution unless OtherProtocol is implicitly convertible to Protocol.