| 
| using  | executor_type = io_context::executor_type | 
|   | 
| using  | native_handle_type = impl::socket::native_handle_type | 
|   | 
| using  | protocol_type = AcceptableProtocol | 
|   | 
| using  | socket_type = typename protocol_type::socket | 
|   | 
| using  | endpoint_type = typename protocol_type::endpoint | 
|   | 
| using  | error_type = std::error_code | 
|   | 
| 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_socket_acceptor (io_context &ctx) | 
|   | 
| executor_type  | get_executor () noexcept | 
|   | 
| stdx::expected< void, error_type >  | open (const protocol_type &protocol=protocol_type(), int flags=0) | 
|   | 
| stdx::expected< void, error_type >  | assign (const protocol_type &protocol, const native_handle_type &native_acceptor) | 
|   | 
| stdx::expected< native_handle_type, error_type >  | release () | 
|   | 
| native_handle_type  | native_handle () const | 
|   | 
| constexpr bool  | is_open () const | 
|   | 
| stdx::expected< void, error_type >  | close () | 
|   | 
| stdx::expected< void, error_type >  | cancel () | 
|   | 
| 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 | 
|   | 
| 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, error_type >  | bind (const endpoint_type &endpoint) | 
|   | 
| stdx::expected< void, error_type >  | listen (int backlog) | 
|   | 
| stdx::expected< endpoint_type, error_type >  | local_endpoint () const | 
|   | 
| bool  | enable_connection_aborted () const | 
|   | 
| stdx::expected< socket_type, error_type >  | accept (int flags=0) | 
|   | 
| stdx::expected< socket_type, error_type >  | accept (io_context &io_ctx, int flags=0) | 
|   | 
| stdx::expected< socket_type, error_type >  | accept (endpoint_type &endpoint, int flags=0) | 
|   | 
| stdx::expected< socket_type, error_type >  | accept (io_context &io_ctx, endpoint_type &endpoint, int flags=0) | 
|   | 
| template<class CompletionToken >  | 
| auto  | async_accept (io_context &io_ctx, CompletionToken &&token) | 
|   | 
| template<class CompletionToken >  | 
| auto  | async_accept (endpoint_type &endpoint, CompletionToken &&token) | 
|   | 
| template<class CompletionToken >  | 
| auto  | async_accept (io_context &io_ctx, endpoint_type &endpoint, CompletionToken &&token) | 
|   | accept a connection with endpoint async'.  More...
  | 
|   | 
| template<class CompletionToken >  | 
| auto  | async_accept (CompletionToken &&token) | 
|   | 
| stdx::expected< void, std::error_code >  | wait (socket_base::wait_type wt) | 
|   | 
| template<typename CompletionToken >  | 
| auto  | async_wait (wait_type w, CompletionToken &&token) | 
|   | 
 | 
| static constexpr message_flags  | message_peek = impl::socket::message_peek | 
|   | 
| static constexpr message_flags  | message_out_of_band | 
|   | 
| static constexpr message_flags  | message_do_not_route | 
|   | 
| static constexpr wait_type  | wait_read = wait_type::wait_read | 
|   | 
| static constexpr wait_type  | wait_write = wait_type::wait_write | 
|   | 
| static constexpr wait_type  | wait_error = wait_type::wait_error | 
|   | 
| static constexpr shutdown_type  | shutdown_receive | 
|   | 
| static constexpr shutdown_type  | shutdown_send = shutdown_type::shutdown_send | 
|   | 
| static constexpr shutdown_type  | shutdown_both = shutdown_type::shutdown_both | 
|   | 
| static const int  | max_listen_connections {SOMAXCONN} | 
|   | 
| constexpr  | basic_socket_impl (io_context &ctx) noexcept | 
|   | 
|   | basic_socket_impl (const basic_socket_impl &)=delete | 
|   | 
|   | basic_socket_impl (basic_socket_impl &&rhs)=default | 
|   | 
| basic_socket_impl &  | operator= (const basic_socket_impl &)=delete | 
|   | 
| basic_socket_impl &  | operator= (basic_socket_impl &&rhs) noexcept | 
|   | 
|   | ~basic_socket_impl () | 
|   | 
| stdx::expected< void, error_type >  | open (const protocol_type &protocol=protocol_type(), int flags=0) | 
|   | 
| stdx::expected< void, error_type >  | assign (const protocol_type &protocol, const native_handle_type &native_handle) | 
|   | 
| stdx::expected< void, error_type >  | bind (const endpoint_type &endpoint) | 
|   | 
| stdx::expected< socket_type, error_type >  | accept (io_context &io_ctx, struct sockaddr *endpoint_data, socklen_t *endpoint_size, int flags=0) | 
|   | 
| stdx::expected< socket_type, error_type >  | accept (io_context &io_ctx, int flags=0) | 
|   | 
| stdx::expected< socket_type, error_type >  | accept (io_context &io_ctx, endpoint_type &endpoint, int flags=0) | 
|   | 
| stdx::expected< void, error_type >  | listen (int backlog=socket_base::max_listen_connections) | 
|   | 
| stdx::expected< void, error_type >  | set_option (const SettableSocketOption &option) | 
|   | 
| stdx::expected< void, error_type >  | get_option (GettableSocketOption &option) const | 
|   | 
| stdx::expected< endpoint_type, error_type >  | local_endpoint () const | 
|   | 
| stdx::expected< endpoint_type, error_type >  | remote_endpoint () const | 
|   | 
| stdx::expected< void, error_type >  | io_control (IoControlCommand &cmd) const | 
|   | 
| stdx::expected< size_t, error_type >  | available () const | 
|   | 
| stdx::expected< bool, error_type >  | at_mark () const | 
|   | 
| stdx::expected< void, error_type >  | shutdown (socket_base::shutdown_type st) const | 
|   | 
| stdx::expected< void, std::error_code >  | wait (socket_base::wait_type wt) | 
|   | 
| constexpr  | basic_socket_impl_base (io_context &ctx) | 
|   | 
|   | basic_socket_impl_base (const basic_socket_impl_base &rhs)=delete | 
|   | 
| basic_socket_impl_base &  | operator= (const basic_socket_impl_base &rhs)=delete | 
|   | 
|   | basic_socket_impl_base (basic_socket_impl_base &&rhs) noexcept | 
|   | 
| basic_socket_impl_base &  | operator= (basic_socket_impl_base &&rhs) noexcept | 
|   | 
|   | ~basic_socket_impl_base ()=default | 
|   | 
| constexpr native_handle_type  | native_handle () const noexcept | 
|   | 
| constexpr bool  | is_open () const noexcept | 
|   | 
| constexpr 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) | 
|   | 
| executor_type  | get_executor () noexcept | 
|   | 
| stdx::expected< void, std::error_code >  | close () | 
|   | 
| stdx::expected< void, std::error_code >  | cancel () | 
|   | 
| stdx::expected< native_handle_type, std::error_code >  | release () | 
|   |