aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-09-01 12:59:32 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-09-01 12:59:32 +0200
commit3d946e42b314d9a80a82f5551098a99529b93fc7 (patch)
tree73f4250466e94d31927e3df2901ab8a66c9c8234
parent221f619bea3a38ab0db479fb12437b2871fc4da7 (diff)
Fix compilation with visual studio
-rwxr-xr-xEigen/src/Core/util/Meta.h7
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) };