The function integral_division (a.k.a. exact division or division without remainder) maps ring elements (x,y) to ring element z such that x = yz if such a z exists (i.e. if x is divisible by y). Otherwise the effect of invoking this operation is undefined. Since the ring represented is an integral domain, z is uniquely defined if it exists.
In case the argument types NT1 and NT2 differ,
the result_type is determined via Coercion_traits.
Thus, the result_type is well defined if NT1 and NT2 are a model of ExplicitInteroperable.
The actual integral_division is performed with the semantic of that type.
The function is guaranteed to be well defined in case result_type is a model of the IntegralDomain concept.