##### basic_raw_socket::basic_raw_socket (6 of 10 overloads)

Construct a `basic_raw_socket`, opening it and binding it to the given local endpoint.

    template<
        typename ExecutionContext>
    basic_raw_socket(
        ExecutionContext & context,
        const endpoint_type & endpoint,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value >  = 0);

This constructor creates a raw socket and automatically opens it bound to the specified endpoint on the local machine. The protocol used is the protocol associated with the given endpoint.

###### Parameters

context

  An execution context which provides the I/O executor that the socket will use, by default, to dispatch handlers for any asynchronous operations performed on the socket.

endpoint

  An endpoint on the local machine to which the raw socket will be bound.

###### Exceptions

asio::system_error

  Thrown on failure.