|  | 
| using | protocol_type = Protocol | 
|  | 
| using | native_handle_type = impl::socket::native_handle_type | 
|  | 
| using | endpoint_type = typename protocol_type::endpoint | 
|  | 
| using | error_type = std::error_code | 
|  | 
| using | executor_type = io_context::executor_type | 
|  | 
| using | protocol_type = Protocol | 
|  | 
| using | native_handle_type = impl::socket::native_handle_type | 
|  | 
| using | error_type = impl::socket::error_type | 
|  | 
| using | endpoint_type = typename protocol_type::endpoint | 
|  | 
| enum class | shutdown_type { shutdown_receive = SHUT_RD
, shutdown_send = SHUT_WR
, shutdown_both = SHUT_RDWR
 } | 
|  | 
| using | broadcast = socket_option::boolean< SOL_SOCKET, SO_BROADCAST > | 
|  | 
| using | debug = socket_option::boolean< SOL_SOCKET, SO_DEBUG > | 
|  | 
| using | do_not_route = socket_option::boolean< SOL_SOCKET, SO_DONTROUTE > | 
|  | 
| using | error = socket_option::integer< SOL_SOCKET, SO_ERROR > | 
|  | 
| using | keep_alive = socket_option::boolean< SOL_SOCKET, SO_KEEPALIVE > | 
|  | 
| using | out_of_band_inline = socket_option::boolean< SOL_SOCKET, SO_OOBINLINE > | 
|  | 
| using | receive_buffer_size = socket_option::integer< SOL_SOCKET, SO_RCVBUF > | 
|  | 
| using | receive_low_watermark = socket_option::integer< SOL_SOCKET, SO_RCVLOWAT > | 
|  | 
| using | reuse_address = socket_option::boolean< SOL_SOCKET, SO_REUSEADDR > | 
|  | 
| using | send_buffer_size = socket_option::integer< SOL_SOCKET, SO_SNDBUF > | 
|  | 
| using | send_low_watermark = socket_option::integer< SOL_SOCKET, SO_SNDLOWAT > | 
|  | 
| using | message_flags = impl::socket::message_flags | 
|  | 
| using | wait_type = impl::socket::wait_type | 
|  | 
|  | 
|  | basic_stream_socket (io_context &ctx) | 
|  | 
|  | basic_stream_socket (io_context &ctx, const protocol_type &proto) | 
|  | 
|  | basic_stream_socket (const basic_stream_socket &)=delete | 
|  | 
| basic_stream_socket & | operator= (const basic_stream_socket &)=delete | 
|  | 
|  | basic_stream_socket (basic_stream_socket &&other)=default | 
|  | 
| basic_stream_socket & | operator= (basic_stream_socket &&)=default | 
|  | 
|  | ~basic_stream_socket ()=default | 
|  | 
|  | basic_stream_socket (io_context &ctx, const protocol_type &protocol, const native_handle_type &native_handle) | 
|  | 
| template<class MutableBufferSequence > | 
| stdx::expected< size_t, std::error_code > | receive (const MutableBufferSequence &buffers, socket_base::message_flags flags) | 
|  | 
| template<class MutableBufferSequence > | 
| stdx::expected< size_t, std::error_code > | receive (const MutableBufferSequence &buffers) | 
|  | 
| template<class MutableBufferSequence > | 
| stdx::expected< size_t, std::error_code > | read_some (const MutableBufferSequence &buffers) | 
|  | 
| template<class ConstBufferSequence > | 
| stdx::expected< size_t, std::error_code > | send (const ConstBufferSequence &buffers, socket_base::message_flags flags) | 
|  | 
| template<class ConstBufferSequence > | 
| stdx::expected< size_t, std::error_code > | send (const ConstBufferSequence &buffers) | 
|  | 
| template<class ConstBufferSequence > | 
| stdx::expected< size_t, std::error_code > | write_some (const ConstBufferSequence &buffers) | 
|  | 
| stdx::expected< void, error_type > | shutdown (socket_base::shutdown_type st) const | 
|  | 
| template<class MutableBufferSequence , class CompletionToken > | 
| auto | async_receive (const MutableBufferSequence &buffers, socket_base::message_flags flags, CompletionToken &&token) | 
|  | 
| template<class MutableBufferSequence , class CompletionToken > | 
| auto | async_receive (const MutableBufferSequence &buffers, CompletionToken &&token) | 
|  | 
| template<class ConstBufferSequence , class CompletionToken > | 
| auto | async_send (const ConstBufferSequence &buffers, socket_base::message_flags flags, CompletionToken &&token) | 
|  | 
| template<class ConstBufferSequence , class CompletionToken > | 
| auto | async_send (const ConstBufferSequence &buffers, CompletionToken &&token) | 
|  | 
| executor_type | get_executor () noexcept | 
|  | 
| stdx::expected< void, error_type > | assign (const protocol_type &protocol, const native_handle_type &native_handle) | 
|  | 
| stdx::expected< void, error_type > | open (const protocol_type &protocol=protocol_type(), int flags=0) | 
|  | 
| stdx::expected< void, error_type > | connect (const endpoint_type &endpoint) | 
|  | 
| template<class CompletionToken > | 
| auto | async_connect (const endpoint_type &endpoint, CompletionToken &&token) | 
|  | 
| stdx::expected< void, error_type > | bind (const endpoint_type &endpoint) | 
|  | 
| native_handle_type | native_handle () const noexcept | 
|  | 
| template<typename SettableSocketOption > | 
| stdx::expected< void, error_type > | set_option (const SettableSocketOption &option) | 
|  | 
| template<typename GettableSocketOption > | 
| stdx::expected< void, error_type > | get_option (GettableSocketOption &option) const | 
|  | 
| stdx::expected< void, error_type > | close () | 
|  | 
| stdx::expected< void, error_type > | cancel () | 
|  | 
| stdx::expected< native_handle_type, error_type > | release () | 
|  | 
| constexpr bool | is_open () const | 
|  | 
| stdx::expected< endpoint_type, error_type > | local_endpoint () const | 
|  | 
| stdx::expected< endpoint_type, error_type > | remote_endpoint () const | 
|  | 
| stdx::expected< size_t, error_type > | available () const | 
|  | 
| bool | non_blocking () const | 
|  | 
| stdx::expected< void, std::error_code > | non_blocking (bool mode) | 
|  | 
| bool | native_non_blocking () const | 
|  | 
| stdx::expected< void, std::error_code > | native_non_blocking (bool mode) | 
|  | 
| stdx::expected< void, std::error_code > | wait (socket_base::wait_type wt) | 
|  | 
| stdx::expected< void, error_type > | shutdown (socket_base::shutdown_type st) const | 
|  | 
| template<typename CompletionToken > | 
| auto | async_wait (wait_type w, CompletionToken &&token) | 
|  |