A model of AlgebraicStructureTraits reflects the algebraic structure of an associated type Type.
Depending on the concepts that Type fulfills, it contains various functors and descriptive tags. Moreover it gives access to the several possible algebraic operations within that structure.
AlgebraicStructureTraits::Type  
The associated type.
 
AlgebraicStructureTraits::Algebraic_category  
Tag indicating the algebraic structure of the associated type.
 
AlgebraicStructureTraits::Is_exact  
Tag indicating whether Type is exact. This is either CGAL::Tag_true or CGAL::Tag_false. An algebraic structure is considered exact, if all operations required by its concept are computed such that a comparison of two algebraic expressions is always correct. The exactness covers only those operations that are required by the algebraic structure concept. e.g. an exact Field may have a Sqrt functor that is not exact.
 
AlgebraicStructureTraits::Is_numerical_sensitive  
Tag indicating whether Type is numerical sensitive. This is either CGAL::Tag_true or CGAL::Tag_false. An algebraic structure is considered as numerically sensitive, if the performance of the type is sensitive to the condition number of an algorithm.
 
AlgebraicStructureTraits::Boolean  
This type specifies the return type of the predicates provided
by this traits. The type must be convertible to bool and
typically the type indeed maps to bool. However, there are also
cases such as interval arithmetic, in which it is Uncertain<bool>
or some similar type.

In case a functor is not provided, it is set to CGAL::Null_functor.
AlgebraicStructureTraits::Is_zero  
A model of AlgebraicStructureTraits::IsZero. Required by the concept IntegralDomainWithoutDivision. In case Type is also model of RealEmbeddable this is a model of RealEmbeddableTraits::IsZero.
 
AlgebraicStructureTraits::Is_one  
A model of AlgebraicStructureTraits::IsOne. Required by the concept IntegralDomainWithoutDivision.
 
AlgebraicStructureTraits::Square  
A model of AlgebraicStructureTraits::Square. Required by the concept IntegralDomainWithoutDivision.
 
AlgebraicStructureTraits::Simplify  
A model of AlgebraicStructureTraits::Simplify. Required by the concept IntegralDomainWithoutDivision.
 
AlgebraicStructureTraits::Unit_part  
A model of AlgebraicStructureTraits::UnitPart. Required by the concept IntegralDomainWithoutDivision.
 
AlgebraicStructureTraits::Integral_division  
A model of AlgebraicStructureTraits::IntegralDivision. Required by the concept IntegralDomain.
 
AlgebraicStructureTraits::Divides  
A model of AlgebraicStructureTraits::Divides. Required by the concept IntegralDomain.
 
AlgebraicStructureTraits::Is_square  
A model of AlgebraicStructureTraits::IsSquare. Required by the concept IntegralDomainWithoutDivision.
 
AlgebraicStructureTraits::Gcd  
A model of AlgebraicStructureTraits::Gcd. Required by the concept UniqueFactorizationDomain.
 
AlgebraicStructureTraits::Mod  
A model of AlgebraicStructureTraits::Mod. Required by the concept EuclideanRing.
 
AlgebraicStructureTraits::Div  
A model of AlgebraicStructureTraits::Div. Required by the concept EuclideanRing.
 
AlgebraicStructureTraits::Div_mod  
A model of AlgebraicStructureTraits::DivMod. Required by the concept EuclideanRing.
 
AlgebraicStructureTraits::Inverse  
A model of AlgebraicStructureTraits::Inverse. Required by the concept Field.
 
AlgebraicStructureTraits::Sqrt  
A model of AlgebraicStructureTraits::Sqrt. Required by the concept FieldWithSqrt.
 
AlgebraicStructureTraits::Kth_root  
A model of AlgebraicStructureTraits::KthRoot. Required by the concept FieldWithKthRoot.
 
AlgebraicStructureTraits::Root_of  
A model of AlgebraicStructureTraits::RootOf. Required by the concept FieldWithRootOf.

IntegralDomainWithoutDivision
IntegralDomain
UniqueFactorizationDomain
EuclideanRing
Field
FieldWithSqrt
FieldWithKthRoot
FieldWithRootOf
CGAL::Integral_domain_without_division_tag
CGAL::Integral_domain_tag
CGAL::Unique_factorization_domain_tag
CGAL::Euclidean_ring_tag
CGAL::Field_tag
CGAL::Field_with_sqrt_tag
CGAL::Field_with_kth_root_tag
CGAL::Field_with_root_of_tag