mirror of https://github.com/CGAL/cgal
Remove hack for Intel compiler: it didn't work, and version 15 fixed the bug.
This commit is contained in:
parent
58d504f744
commit
ae4084948e
|
|
@ -24,6 +24,7 @@
|
||||||
#include <CGAL/tuple.h>
|
#include <CGAL/tuple.h>
|
||||||
#include <CGAL/typeset.h>
|
#include <CGAL/typeset.h>
|
||||||
#include <CGAL/Object.h>
|
#include <CGAL/Object.h>
|
||||||
|
#include <CGAL/Origin.h>
|
||||||
#include <CGAL/NT_converter.h>
|
#include <CGAL/NT_converter.h>
|
||||||
#include <CGAL/NewKernel_d/functor_tags.h>
|
#include <CGAL/NewKernel_d/functor_tags.h>
|
||||||
#include <CGAL/Kernel/mpl.h>
|
#include <CGAL/Kernel/mpl.h>
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
#include <CGAL/NewKernel_d/utils.h>
|
#include <CGAL/NewKernel_d/utils.h>
|
||||||
#include <CGAL/NewKernel_d/functor_tags.h>
|
#include <CGAL/NewKernel_d/functor_tags.h>
|
||||||
#include <CGAL/Kernel/mpl.h> // First_if_different
|
#include <CGAL/Kernel/mpl.h> // First_if_different
|
||||||
|
#include <CGAL/Dimension.h>
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
template <class Tag_, class K1, class K2> struct KO_converter;
|
template <class Tag_, class K1, class K2> struct KO_converter;
|
||||||
//TODO: It would probably be better if this was a Misc Functor in K1.
|
//TODO: It would probably be better if this was a Misc Functor in K1.
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,11 @@ namespace CGAL {
|
||||||
struct Provides_type_i <Kernel, Tg, true>
|
struct Provides_type_i <Kernel, Tg, true>
|
||||||
: Has_type_different_from<typename Kernel::template Type<Tg>, Null_type> {};
|
: Has_type_different_from<typename Kernel::template Type<Tg>, Null_type> {};
|
||||||
|
|
||||||
|
//// This version does not like Functor<T,bool=false>
|
||||||
|
//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<Null_tag>,false) }
|
namespace internal { BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_Functor,template Functor<Null_tag>,false) }
|
||||||
|
|
||||||
template<class Kernel, class Tg, class O=void,
|
template<class Kernel, class Tg, class O=void,
|
||||||
bool = internal::has_Functor<Kernel>::value /* false */>
|
bool = internal::has_Functor<Kernel>::value /* false */>
|
||||||
struct Provides_functor_i : boost::false_type {};
|
struct Provides_functor_i : boost::false_type {};
|
||||||
|
|
@ -110,14 +114,7 @@ namespace CGAL {
|
||||||
template <class K, class T, class D=void,
|
template <class K, class T, class D=void,
|
||||||
//bool=Provides_functor<K,T>::value,
|
//bool=Provides_functor<K,T>::value,
|
||||||
//bool=Provides_functor_i<K,T>::value,
|
//bool=Provides_functor_i<K,T>::value,
|
||||||
bool =
|
bool = internal::has_Functor<K>::value
|
||||||
#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<K>::value
|
|
||||||
#endif
|
|
||||||
>
|
>
|
||||||
struct Inherit_functor : K::template Functor<T> {};
|
struct Inherit_functor : K::template Functor<T> {};
|
||||||
template <class K, class T, class D>
|
template <class K, class T, class D>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue