diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-09-01 12:59:32 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-09-01 12:59:32 +0200 |
commit | 3d946e42b314d9a80a82f5551098a99529b93fc7 (patch) | |
tree | 73f4250466e94d31927e3df2901ab8a66c9c8234 | |
parent | 221f619bea3a38ab0db479fb12437b2871fc4da7 (diff) |
Fix compilation with visual studio
-rwxr-xr-x | Eigen/src/Core/util/Meta.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 29c149c34..e5e1b760f 100755 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -381,13 +381,12 @@ struct has_ReturnType enum { value = sizeof(testFunctor<T>(0)) == sizeof(meta_yes) }; }; -template<int Size> struct meta_array { int a[Size]; }; template<typename T> const T& return_ref(); template <typename T> struct has_nullary_operator { - template <typename C> static meta_yes testFunctor(C const *,meta_array< sizeof(return_ref<C>()()) > * = 0); + template <typename C> static meta_yes testFunctor(C const *,enable_if<(sizeof(return_ref<C>()())>0)> * = 0); static meta_no testFunctor(...); enum { value = sizeof(testFunctor(static_cast<T*>(0))) == sizeof(meta_yes) }; @@ -396,7 +395,7 @@ struct has_nullary_operator template <typename T> struct has_unary_operator { - template <typename C> static meta_yes testFunctor(C const *,meta_array< sizeof(return_ref<C>()(Index(0))) > * = 0); + template <typename C> static meta_yes testFunctor(C const *,enable_if<(sizeof(return_ref<C>()(Index(0)))>0)> * = 0); static meta_no testFunctor(...); enum { value = sizeof(testFunctor(static_cast<T*>(0))) == sizeof(meta_yes) }; @@ -405,7 +404,7 @@ struct has_unary_operator template <typename T> struct has_binary_operator { - template <typename C> static meta_yes testFunctor(C const *,meta_array< sizeof(return_ref<C>()(Index(0),Index(0))) > * = 0); + template <typename C> static meta_yes testFunctor(C const *,enable_if<(sizeof(return_ref<C>()(Index(0),Index(0)))>0)> * = 0); static meta_no testFunctor(...); enum { value = sizeof(testFunctor(static_cast<T*>(0))) == sizeof(meta_yes) }; |