#### basic_socket_acceptor::async_accept

Start an asynchronous accept.

    template<
        typename Protocol1,
        typename Executor1,
        typename AcceptToken = default_completion_token_t<executor_type>>
    DEDUCED async_accept(
        basic_socket< Protocol1, Executor1 > & peer,
        AcceptToken && token = default_completion_token_t< executor_type >(),
        constraint_t< is_convertible< Protocol, Protocol1 >::value >  = 0);
      » more...

    template<
        typename Executor1,
        typename AcceptToken = default_completion_token_t<executor_type>>
    DEDUCED async_accept(
        basic_socket< protocol_type, Executor1 > & peer,
        endpoint_type & peer_endpoint,
        AcceptToken && token = default_completion_token_t< executor_type >());
      » more...

    template<
        typename MoveAcceptToken = default_completion_token_t<executor_type>>
    DEDUCED async_accept(
        MoveAcceptToken && token = default_completion_token_t< executor_type >());
      » more...

    template<
        typename Executor1,
        typename MoveAcceptToken = default_completion_token_t<executor_type>>
    DEDUCED async_accept(
        const Executor1 & ex,
        MoveAcceptToken && token = default_completion_token_t< executor_type >(),
        constraint_t< is_executor< Executor1 >::value||execution::is_executor< Executor1 >::value >  = 0);
      » more...

    template<
        typename ExecutionContext,
        typename MoveAcceptToken = default_completion_token_t<executor_type>>
    DEDUCED async_accept(
        ExecutionContext & context,
        MoveAcceptToken && token = default_completion_token_t< executor_type >(),
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value >  = 0);
      » more...

    template<
        typename MoveAcceptToken = default_completion_token_t<executor_type>>
    DEDUCED async_accept(
        endpoint_type & peer_endpoint,
        MoveAcceptToken && token = default_completion_token_t< executor_type >());
      » more...

    template<
        typename Executor1,
        typename MoveAcceptToken = default_completion_token_t<executor_type>>
    DEDUCED async_accept(
        const Executor1 & ex,
        endpoint_type & peer_endpoint,
        MoveAcceptToken && token = default_completion_token_t< executor_type >(),
        constraint_t< is_executor< Executor1 >::value||execution::is_executor< Executor1 >::value >  = 0);
      » more...

    template<
        typename ExecutionContext,
        typename MoveAcceptToken = default_completion_token_t<executor_type>>
    DEDUCED async_accept(
        ExecutionContext & context,
        endpoint_type & peer_endpoint,
        MoveAcceptToken && token = default_completion_token_t< executor_type >(),
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value >  = 0);
      » more...