+
+ |
+|
+Tag is:
+ |
+`Type` is model of:
+ |
+ |
+|
+`CGAL::Null_tag`
+ |
+no algebraic concept
+ |
+|
+`CGAL::Integral_domain_without_division_tag`
+ |
+`IntegralDomainWithoutDivision`
+ |
+|
+`CGAL::Integral_domain_tag`
+ |
+`IntegralDomain`
+ |
+|
+`CGAL::Unique_factorization_domain_tag`
+ |
+`UniqueFactorizationDomain`
+ |
+|
+`CGAL::Euclidean_ring_tag`
+ |
+`EuclideanRing`
+ |
+|
+`CGAL::Field_tag`
+ |
+`Field`
+ |
+|
+`CGAL::Field_with_sqrt_tag`
+ |
+`FieldWithSqrt`
+ |
+|
+`CGAL::Field_with_kth_root_tag`
+ |
+`FieldWithKthRoot`
+ |
+|
+`CGAL::Field_with_root_of_tag`
+ |
+`FieldWithRootOf`
+ |
+ |
+
+*/
+typedef Hidden_type Algebraic_category;
+
+/*!
+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.
+
+*/
+typedef Hidden_type Is_exact;
+
+/*!
+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.
+
+*/
+typedef Hidden_type Is_numerical_sensitive;
+
+/*!
+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