\begin{ccRefFunctionObjectConcept}{AlgebraicStructureTraits::IntegralDivision} \ccDefinition \ccc{AdaptableBinaryFunction} providing an integral division. 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. \ccRefines \ccc{AdaptableBinaryFunction} \ccTypes \ccNestedType{result_type} { Is \ccc{AlgebraicStructureTraits::Type}.} \ccGlue \ccNestedType{first_argument} { Is \ccc{AlgebraicStructureTraits::Type}.} \ccGlue \ccNestedType{second_argument} { Is \ccc{AlgebraicStructureTraits::Type}.} \ccOperations \ccCreationVariable{integral_division} \ccThree{xxxxxxxxxxx}{xxxxxxxxxxx}{} \ccMethod{result_type operator()(first_argument_type x, second_argument_type y);} { returns $x/y$, this is an integral division. } \ccMethod{template result_type operator()(NT1 x, NT2 y);} {This operator is well defined if \ccc{NT1} and \ccc{NT2} are \ccc{ExplicitInteroperable} with coercion type \ccc{AlgebraicStructureTraits::Type}. } %\ccHasModels \ccSeeAlso \ccRefIdfierPage{AlgebraicStructureTraits}\\ \ccRefIdfierPage{AlgebraicStructureTraits::Divides} \end{ccRefFunctionObjectConcept}