diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-11-20 13:54:28 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-11-20 13:54:28 +0100 |
commit | e52d4f8d8d11137b5e8574c1fcaf9aae0c865128 (patch) | |
tree | e8b7782e9044305dd849ca0947dcf5fa1cf21cc4 /Eigen | |
parent | 0ad7c7b1adc142fec4376ccdfdb4e88e4820934d (diff) |
Add is_integral<> type traits
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/util/Meta.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Eigen/src/Core/util/Meta.h b/Eigen/src/Core/util/Meta.h index e7fa2a1f1..15b80abd9 100644 --- a/Eigen/src/Core/util/Meta.h +++ b/Eigen/src/Core/util/Meta.h @@ -73,6 +73,18 @@ template<> struct is_arithmetic<unsigned int> { enum { value = true }; }; template<> struct is_arithmetic<signed long> { enum { value = true }; }; template<> struct is_arithmetic<unsigned long> { enum { value = true }; }; +template<typename T> struct is_integral { enum { value = false }; }; +template<> struct is_integral<bool> { enum { value = true }; }; +template<> struct is_integral<char> { enum { value = true }; }; +template<> struct is_integral<signed char> { enum { value = true }; }; +template<> struct is_integral<unsigned char> { enum { value = true }; }; +template<> struct is_integral<signed short> { enum { value = true }; }; +template<> struct is_integral<unsigned short> { enum { value = true }; }; +template<> struct is_integral<signed int> { enum { value = true }; }; +template<> struct is_integral<unsigned int> { enum { value = true }; }; +template<> struct is_integral<signed long> { enum { value = true }; }; +template<> struct is_integral<unsigned long> { enum { value = true }; }; + template <typename T> struct add_const { typedef const T type; }; template <typename T> struct add_const<T&> { typedef T& type; }; |