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_type derived from Integral_domain_without_division_tag
- CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Is_zero
- CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Is_one
- CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Square
- CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Simplify
- CGAL::Algebraic_structure_traits< IntegralDomainWithoutDivision >::Unit_part
IntegralDomainWithoutDivision | + a | unary plus |
IntegralDomainWithoutDivision | - a | unary minus |
IntegralDomainWithoutDivision | a + b | |
IntegralDomainWithoutDivision | a - b | |
IntegralDomainWithoutDivision | a * b | |
IntegralDomainWithoutDivision | a += b | |
IntegralDomainWithoutDivision | a -= b | |
IntegralDomainWithoutDivision | a *= b |
Equality comparable:
result_type | a == b | The result_type is convertible to bool. |
result_type | a != b | The result_type is convertible to bool. |
IntegralDomainWithoutDivision
IntegralDomain
UniqueFactorizationDomain
EuclideanRing
Field
FieldWithSqrt
FieldWithKthRoot
FieldWithRootOf
AlgebraicStructureTraits