diff options
author | Gael Guennebaud <g.gael@free.fr> | 2017-01-25 22:53:58 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2017-01-25 22:53:58 +0100 |
commit | 607be65a03aace70d17f0b968d76986ff09acc78 (patch) | |
tree | 76395dbf0b50b7c3eeaf870a9bd0e092e8d48cf2 /Eigen/src/Core/util/Meta.h | |
parent | d83db761a2b9cedcb25519b3e556b5e495adc115 (diff) |
Fix duplicates of array_size bewteen unsupported and Core
Diffstat (limited to 'Eigen/src/Core/util/Meta.h')
-rwxr-xr-x | Eigen/src/Core/util/Meta.h | 10 |
1 files changed, 8 insertions, 2 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<typename T, typename EnableIf = void> struct array_size { enum { value = Dynamic }; @@ -303,8 +303,14 @@ template<typename T> struct array_size<T,typename internal::enable_if<((T::SizeA template<typename T, int N> struct array_size<const T (&)[N]> { enum { value = N }; }; +template<typename T, int N> struct array_size<T (&)[N]> { + enum { value = N }; +}; -#ifdef EIGEN_HAS_CXX11 +#if EIGEN_HAS_CXX11 +template<typename T, std::size_t N> struct array_size<const std::array<T,N> > { + enum { value = N }; +}; template<typename T, std::size_t N> struct array_size<std::array<T,N> > { enum { value = N }; }; |