explicit io_object_impl(ExecutionContext& context, typename enable_if<is_convertible< ExecutionContext&, execution_context&>::value>::type* = 0) : service_(&boost::asio::use_service<IoObjectService>(context)), implementation_executor_(context.get_executor(), is_same<ExecutionContext, io_context>::value) { service_->construct(implementation_); }