diff --git a/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h b/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h index 0fedf15a475..c0cbc9450ca 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/KernelD_converter.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include diff --git a/NewKernel_d/include/CGAL/NewKernel_d/Kernel_object_converter.h b/NewKernel_d/include/CGAL/NewKernel_d/Kernel_object_converter.h index ec4cd2147ee..8ea45fcbfaa 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/Kernel_object_converter.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/Kernel_object_converter.h @@ -22,6 +22,7 @@ #include #include #include // First_if_different +#include namespace CGAL { template struct KO_converter; //TODO: It would probably be better if this was a Misc Functor in K1. diff --git a/NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h b/NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h index 9affac77a2e..c48f4c5d779 100644 --- a/NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h +++ b/NewKernel_d/include/CGAL/NewKernel_d/functor_tags.h @@ -98,7 +98,11 @@ namespace CGAL { struct Provides_type_i : Has_type_different_from, Null_type> {}; + //// This version does not like Functor + //namespace internal { BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(has_Functor,Functor,false) } + // This version lets us use non-type template parameters, but fails with older EDG-based compilers (Intel 14). namespace internal { BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_Functor,template Functor,false) } + template::value /* false */> struct Provides_functor_i : boost::false_type {}; @@ -110,14 +114,7 @@ namespace CGAL { template ::value, //bool=Provides_functor_i::value, - bool = -#ifdef __INTEL_COMPILER -// FIXME: this is obviously wrong, but Intel's compiler evaluates it to false -// and Epick_d doesn't seem to use the other case currently. - true -#else - internal::has_Functor::value -#endif + bool = internal::has_Functor::value > struct Inherit_functor : K::template Functor {}; template