diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-11-18 21:07:29 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-11-18 21:07:29 +0000 |
commit | 164414c563405bf9ec0c63b118e763ab0271e08e (patch) | |
tree | f035d3d72713dce575bd3c6496e4087e7fa9b345 /Eigen | |
parent | 8193ffb3d38b56c9295f204dc57dc6bac74f58aa (diff) | |
parent | 0d0948c3b9ba484147c373e05cefb91b269ce94e (diff) |
Merged in ChunW/eigen (pull request PR-252)
Workaround for error in VS2012 with /clr
Diffstat (limited to 'Eigen')
-rwxr-xr-x | Eigen/src/Core/util/Meta.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index d4460bb77..7f6370755 100755 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -381,12 +381,12 @@ struct has_ReturnType enum { value = sizeof(testFunctor<T>(0)) == sizeof(meta_yes) }; }; -template<typename T> const T& return_ref(); +template<typename T> const T* return_ptr(); template <typename T, typename IndexType=Index> struct has_nullary_operator { - template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ref<C>().operator()())>0)>::type * = 0); + template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ptr<C>()->operator()())>0)>::type * = 0); static meta_no testFunctor(...); enum { value = sizeof(testFunctor(static_cast<T*>(0))) == sizeof(meta_yes) }; @@ -395,7 +395,7 @@ struct has_nullary_operator template <typename T, typename IndexType=Index> struct has_unary_operator { - template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ref<C>().operator()(IndexType(0)))>0)>::type * = 0); + template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ptr<C>()->operator()(IndexType(0)))>0)>::type * = 0); static meta_no testFunctor(...); enum { value = sizeof(testFunctor(static_cast<T*>(0))) == sizeof(meta_yes) }; @@ -404,7 +404,7 @@ struct has_unary_operator template <typename T, typename IndexType=Index> struct has_binary_operator { - template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ref<C>().operator()(IndexType(0),IndexType(0)))>0)>::type * = 0); + template <typename C> static meta_yes testFunctor(C const *,typename enable_if<(sizeof(return_ptr<C>()->operator()(IndexType(0),IndexType(0)))>0)>::type * = 0); static meta_no testFunctor(...); enum { value = sizeof(testFunctor(static_cast<T*>(0))) == sizeof(meta_yes) }; |