Construct a descriptor on an existing native descriptor.
template< typename ExecutionContext> basic_descriptor( ExecutionContext & context, const native_handle_type & native_descriptor, constraint_t< is_convertible< ExecutionContext &, execution_context & >::value > = 0);
This constructor creates a descriptor object to hold an existing native descriptor.
An execution context which provides the I/O executor that the descriptor will use, by default, to dispatch handlers for any asynchronous operations performed on the descriptor.
A native descriptor.
Thrown on failure.