diff --git a/Polynomial/include/CGAL/Polynomial/Coercion_traits.h b/Polynomial/include/CGAL/Polynomial/Coercion_traits.h index 05ba0d336aa..1ab797c18d3 100644 --- a/Polynomial/include/CGAL/Polynomial/Coercion_traits.h +++ b/Polynomial/include/CGAL/Polynomial/Coercion_traits.h @@ -46,14 +46,14 @@ namespace internal{ // A has less variables than B template -class Coercion_traits_for_polynomial_comp_d +struct Coercion_traits_for_polynomial_comp_d :public Coercion_traits_for_polynomial_comp_d< B, A , false >{}; // Polynomial has more variables than B template -class Coercion_traits_for_polynomial_comp_d< Polynomial, B , false>{ +struct Coercion_traits_for_polynomial_comp_d< Polynomial, B , false>{ typedef Coercion_traits CT; -public: + typedef CGAL::Tag_true Are_explicit_interoperable; typedef CGAL::Tag_false Are_implicit_interoperable; @@ -74,14 +74,14 @@ public: // number of variables is different template -class Coercion_traits_for_polynomial_equal_d +struct Coercion_traits_for_polynomial_equal_d :public Coercion_traits_for_polynomial_comp_d {}; // number of variables is equal and at least one. template -class Coercion_traits_for_polynomial_equal_d, Polynomial, d, d >{ +struct Coercion_traits_for_polynomial_equal_d, Polynomial, d, d >{ typedef Coercion_traits CT; -public: + typedef CGAL::Tag_true Are_explicit_interoperable; typedef CGAL::Tag_false Are_implicit_interoperable; typedef Polynomial Type; @@ -102,22 +102,22 @@ public: // determine number of variables in each polynomial template -class Coercion_traits_for_polynomial +struct Coercion_traits_for_polynomial : public Coercion_traits_for_polynomial_equal_d < A , B , Dimension::value, Dimension::value >{}; }// namespace internal template -class Coercion_traits_for_level< Polynomial , Polynomial, CTL_POLYNOMIAL > +struct Coercion_traits_for_level< Polynomial , Polynomial, CTL_POLYNOMIAL > :public internal::Coercion_traits_for_polynomial< Polynomial, Polynomial > {}; template -class Coercion_traits_for_level< Polynomial , B , CTL_POLYNOMIAL > +struct Coercion_traits_for_level< Polynomial , B , CTL_POLYNOMIAL > :public internal::Coercion_traits_for_polynomial< Polynomial, B > {}; template -class Coercion_traits_for_level< A , Polynomial , CTL_POLYNOMIAL > +struct Coercion_traits_for_level< A , Polynomial , CTL_POLYNOMIAL > :public internal::Coercion_traits_for_polynomial< A , Polynomial > {}; @@ -132,9 +132,9 @@ class Coercion_traits_for_level< A , Polynomial , CTL_POLYNOMIAL > // class this part should be adapted, using a Polynomial_traits // and the nesting_depth template -class Coercion_traits_for_level, Polynomial, CTL_POLYNOMIAL >{ +struct Coercion_traits_for_level, Polynomial, CTL_POLYNOMIAL >{ typedef Coercion_traits CT; -public: + typedef CGAL::Tag_true Are_explicit_interoperable; typedef CGAL::Tag_false Are_implicit_interoperable; typedef Polynomial Type; @@ -154,9 +154,9 @@ public: }; template -class Coercion_traits_for_level,B ,CTL_POLYNOMIAL >{ +struct Coercion_traits_for_level,B ,CTL_POLYNOMIAL >{ typedef Coercion_traits CT; -public: + typedef CGAL::Tag_true Are_explicit_interoperable; typedef CGAL::Tag_false Are_implicit_interoperable; @@ -175,7 +175,7 @@ public: }; }; template -class Coercion_traits_for_level,CTL_POLYNOMIAL > +struct Coercion_traits_for_level,CTL_POLYNOMIAL > :public Coercion_traits_for_level,B,CTL_POLYNOMIAL > {}; diff --git a/Polynomial/include/CGAL/Polynomial/Real_embeddable_traits.h b/Polynomial/include/CGAL/Polynomial/Real_embeddable_traits.h index 1b1ef1db6fc..23f9de64bf2 100644 --- a/Polynomial/include/CGAL/Polynomial/Real_embeddable_traits.h +++ b/Polynomial/include/CGAL/Polynomial/Real_embeddable_traits.h @@ -111,7 +111,7 @@ public: } // namespace internal template -struct Real_embeddable_traits > +class Real_embeddable_traits > :public internal::Real_embeddable_traits_poly_base< Polynomial, typename Real_embeddable_traits::Type>::Is_real_embeddable>