##### basic_socket_acceptor::accept (7 of 16 overloads)

Accept a new connection.

    template<
        typename Executor1>
    Protocol::socket::template rebind_executor< Executor1 >::other accept(
        const Executor1 & ex,
        typename constraint< is_executor< Executor1 >::value||execution::is_executor< Executor1 >::value >::type  = 0);

This function is used to accept a new connection from a peer. The function call will block until a new connection has been accepted successfully or an error occurs.

This overload requires that the Protocol template parameter satisfy the AcceptableProtocol type requirements.

###### Parameters

ex

  The I/O executor object to be used for the newly accepted socket.

###### Return Value

A socket object representing the newly accepted connection.

###### Exceptions

asio::system_error

  Thrown on failure.

###### Example

    asio::ip::tcp::acceptor acceptor(my_context);
    ...
    asio::ip::tcp::socket socket(acceptor.accept());