|  | 
Construct an open acceptor.
template<
    typename ExecutionContext>
basic_socket_acceptor(
    ExecutionContext & context,
    const protocol_type & protocol,
    typename constraint< is_convertible< ExecutionContext &, execution_context & >::value, defaulted_constraint >::type  = defaulted_constraint());
This constructor creates an acceptor and automatically opens it.
An execution context which provides the I/O executor that the acceptor will use, by default, to dispatch handlers for any asynchronous operations performed on the acceptor.
An object specifying protocol parameters to be used.
Thrown on failure.