namespace std { namespace experimental { namespace net { inline namespace v1 { class socket_base { public: class broadcast; class debug; class do_not_route; class keep_alive; class linger; class out_of_band_inline; class receive_buffer_size; class receive_low_watermark; class reuse_address; class send_buffer_size; class send_low_watermark; using shutdown_type = T1; static constexpr shutdown_type shutdown_receive; static constexpr shutdown_type shutdown_send; static constexpr shutdown_type shutdown_both; using wait_type = T2; static constexpr wait_type wait_read; static constexpr wait_type wait_write; static constexpr wait_type wait_error; using message_flags = T3; static constexpr message_flags message_peek; static constexpr message_flags message_out_of_band; static constexpr message_flags message_do_not_route; static const int max_listen_connections; protected: socket_base(); ~socket_base(); }; } // inline namespace v1 } // namespace net } // namespace experimental } // namespace std
socket_base defines several member types:
socket option classes broadcast, debug, do_not_route, keep_alive, linger, out_of_band_inline, receive_buffer_size, receive_low_watermark, reuse_address, send_buffer_size, and send_low_watermark;
an enumerated type, shutdown_type, for use with the basic_socket<Protocol> class's shutdown member function.
an enumerated type, wait_type, for use with the basic_socket<Protocol> and basic_socket_acceptor<Protocol> classes' wait and async_wait member functions,
a bitmask type, message_flags, for use with the basic_stream_socket<Protocol> class's send, async_send, receive, and async_receive member functions, and the basic_datagram_socket<Protocol> class's send, async_send, send_to, async_send_to, receive, async_receive, receive_from, and async_receive_from member functions.
a constant, max_listen_connections, for use with the basic_socket_acceptor<Protocol> class's listen member function.