From e01cbc1659dd4e9dbe3791d10eeeed6c7ed75a23 Mon Sep 17 00:00:00 2001 From: Marc Glisse Date: Thu, 13 Mar 2014 18:17:43 +0100 Subject: [PATCH] Stupid language limitation enforced by some compilers. Never use non-type template parameters for anything fancy. --- .../CGAL/NewKernel_d/Cartesian_LA_base.h | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_base.h b/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_base.h index 08a3bc68959..288d6b5458a 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_base.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Cartesian_LA_base.h @@ -61,7 +61,7 @@ struct Cartesian_LA_base_d : public Dimension_base ::add::type Iterator_list; - template struct Functor { + template struct Functor { typedef Null_functor type; }; template struct Functor,D> { @@ -77,20 +77,20 @@ struct Cartesian_LA_base_d : public Dimension_base typedef CartesianDVectorBase::Construct_cartesian_const_iterator type; }; template struct Functor::value> { + Boolean_tag::value> > { typedef CartesianDVectorBase::Sum_of_vectors type; }; template struct Functor::value> { + Boolean_tag::value> > { typedef CartesianDVectorBase::Difference_of_vectors type; }; template struct Functor::value> { + Boolean_tag::value> > { typedef CartesianDVectorBase::Opposite_vector type; }; template struct Functor::value && - LA_vector::template Property::value> { + Boolean_tag::value + && LA_vector::template Property::value> > { typedef CartesianDVectorBase::Midpoint type; }; template struct Functor { @@ -106,24 +106,24 @@ struct Cartesian_LA_base_d : public Dimension_base typedef CartesianDVectorBase::PV_dimension type; }; template struct Functor::value> { + Boolean_tag::value> > { typedef CartesianDVectorBase::Orientation_of_vectors type; }; template struct Functor::value> { + Boolean_tag::value> > { typedef CartesianDVectorBase::Orientation_of_points type; }; template struct Functor::value> { + Boolean_tag::value> > { typedef CartesianDVectorBase::Scalar_product type; }; template struct Functor::value> { + Boolean_tag::value> > { typedef CartesianDVectorBase::Squared_distance_to_origin_stored type; }; template struct Functor::value && - LA_vector::template Property::value> { + Boolean_tag::value + && LA_vector::template Property::value> > { typedef CartesianDVectorBase::Squared_distance_to_origin_via_dotprod type; }; template struct Functor {