##### basic_datagram_socket::basic_datagram_socket (2 of 10 overloads)

Construct a `basic_datagram_socket` without opening it.

    template<
        typename ExecutionContext>
    basic_datagram_socket(
        ExecutionContext & context,
        typename enable_if< is_convertible< ExecutionContext &, execution_context & >::value >::type *  = 0);

This constructor creates a datagram socket without opening it. The `open()` function must be called before data can be sent or received on the socket.

###### 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.