CGAL 5.0 - Algebraic Foundations
|
This is the most basic concept for algebraic structures considered within CGAL.
A model IntegralDomainWithoutDivision
represents an integral domain, i.e. commutative ring with 0, 1, +, * and unity free of zero divisors.
Note: A model is not required to offer the always well defined integral division.
It refines Assignable
, CopyConstructible
, DefaultConstructible
and FromIntConstructible
.
It refines EqualityComparable
, where equality is defined w.r.t. the ring element being represented.
The operators unary and binary plus +, unary and binary minus -, multiplication * and their compound forms +=, -=, *= are required and implement the respective ring operations.
Moreover, CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >
is a model of AlgebraicStructureTraits
providing:
CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Algebraic_category
derived from CGAL::Integral_domain_without_division_tag
CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Is_zero
which is a model of AlgebraicStructureTraits_::IsZero
CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Is_one
which is a model of AlgebraicStructureTraits_::IsOne
CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Square
which is a model of AlgebraicStructureTraits_::Square
CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Simplify
which is a model of AlgebraicStructureTraits_::Simplify
CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Unit_part
which is a model of AlgebraicStructureTraits_::UnitPart