From 607be65a03aace70d17f0b968d76986ff09acc78 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 25 Jan 2017 22:53:58 +0100 Subject: [PATCH] Fix duplicates of array_size bewteen unsupported and Core --- Eigen/src/Core/util/Meta.h | 10 ++++++++-- unsupported/Eigen/CXX11/src/util/EmulateArray.h | 12 ------------ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index 804657f7b..ee0531b32 100755 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -290,7 +290,7 @@ protected: * - std::array (c++11) * - some internal types such as SingleRange and AllRange * - * The second template parameter ease SFINAE-based specializations. + * The second template parameter eases SFINAE-based specializations. */ template struct array_size { enum { value = Dynamic }; @@ -303,8 +303,14 @@ template struct array_size struct array_size { enum { value = N }; }; +template struct array_size { + enum { value = N }; +}; -#ifdef EIGEN_HAS_CXX11 +#if EIGEN_HAS_CXX11 +template struct array_size > { + enum { value = N }; +}; template struct array_size > { enum { value = N }; }; diff --git a/unsupported/Eigen/CXX11/src/util/EmulateArray.h b/unsupported/Eigen/CXX11/src/util/EmulateArray.h index 30d3ebcff..03169d591 100644 --- a/unsupported/Eigen/CXX11/src/util/EmulateArray.h +++ b/unsupported/Eigen/CXX11/src/util/EmulateArray.h @@ -200,19 +200,15 @@ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T& array_get(const array& a) { return a[I]; } -template struct array_size; template struct array_size > { static const size_t value = N; }; -template struct array_size; template struct array_size& > { static const size_t value = N; }; -template struct array_size; template struct array_size > { static const size_t value = N; }; -template struct array_size; template struct array_size& > { static const size_t value = N; }; @@ -251,14 +247,6 @@ template constexpr inline T const& array_ #undef STD_GET_ARR_HACK -template struct array_size; -template struct array_size > { - static const size_t value = N; -}; -template struct array_size; -template struct array_size > { - static const size_t value = N; -}; } // end namespace internal } // end namespace Eigen