From cd12bf63172e58e1d5d8ed23c96f515e89499851 Mon Sep 17 00:00:00 2001 From: Christoph Hertzberg Date: Thu, 24 Oct 2019 13:29:35 +0200 Subject: [PATCH] bug #1761: Manually grafted changes in Meta.h 5937c4ae32feec178d56282694f06ed16cfe7352 Fall back is_integral to std::is_integral in c++11 f0862b062fcb613ee6c60745631d90a43d54a6d4 Fix internal::is_integral with MSVC 2013 and older. --- Eigen/src/Core/util/Meta.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index df72a6911..9b61ff037 100755 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -97,6 +97,9 @@ template<> struct is_arithmetic { enum { value = true }; }; template<> struct is_arithmetic { enum { value = true }; }; template<> struct is_arithmetic { enum { value = true }; }; +#if EIGEN_HAS_CXX11 +using std::is_integral; +#else template struct is_integral { enum { value = false }; }; template<> struct is_integral { enum { value = true }; }; template<> struct is_integral { enum { value = true }; }; @@ -108,6 +111,11 @@ template<> struct is_integral { enum { value = true }; }; template<> struct is_integral { enum { value = true }; }; template<> struct is_integral { enum { value = true }; }; template<> struct is_integral { enum { value = true }; }; +#if EIGEN_COMP_MSVC +template<> struct is_integral { enum { value = true }; }; +template<> struct is_integral{ enum { value = true }; }; +#endif +#endif #if EIGEN_HAS_CXX11 using std::make_unsigned;