A model of *EuclideanRing* represents an euclidean ring (or Euclidean domain).
It is an *UniqueFactorizationDomain* that affords a suitable notion of minimality of remainders
such that given x and y ≠ 0 we obtain an (almost) unique solution to
x = qy + r by demanding that a solution (q,r) is chosen to minimize r.
In particular, r is chosen to be 0 if possible.

Moreover, *CGAL::Algebraic_structure_traits< EuclideanRing >* is a model of
*AlgebraicStructureTraits* providing:

- *CGAL::Algebraic_structure_traits< EuclideanRing >::Algebraic_type* derived from *Unique_factorization_domain_tag*

- *CGAL::Algebraic_structure_traits< EuclideanRing >::Mod*

- *CGAL::Algebraic_structure_traits< EuclideanRing >::Div*

- *CGAL::Algebraic_structure_traits< EuclideanRing >::Div_mod*

The most prominent example of a Euclidean ring are the integers. Whenever both x and y are positive, then it is conventional to choose the smallest positive remainder r.

*IntegralDomainWithoutDivision*

*IntegralDomain*

*UniqueFactorizationDomain*

*EuclideanRing*

*Field*

*FieldWithSqrt*

*FieldWithKthRoot*

*FieldWithRootOf*

*AlgebraicStructureTraits*

CGAL Open Source Project.
Release 3.5.
1 October 2009.