|
|
|
@ -274,19 +274,19 @@ template <> struct hb_signedness_int<false> { typedef unsigned int value; }; |
|
|
|
|
template <> struct hb_signedness_int<true> { typedef signed int value; }; |
|
|
|
|
#define hb_signedness_int(T) hb_signedness_int<T>::value |
|
|
|
|
|
|
|
|
|
template <typename T> struct hb_is_integer { static constexpr bool value = false;}; |
|
|
|
|
template <> struct hb_is_integer<char> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<signed char> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<unsigned char> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<signed short> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<unsigned short> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<signed int> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<unsigned int> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<signed long> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<unsigned long> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<signed long long> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integer<unsigned long long> { static constexpr bool value = true; }; |
|
|
|
|
#define hb_is_integer(T) hb_is_integer<T>::value |
|
|
|
|
template <typename T> struct hb_is_integral { static constexpr bool value = false;}; |
|
|
|
|
template <> struct hb_is_integral<char> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<signed char> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<unsigned char> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<signed short> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<unsigned short> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<signed int> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<unsigned int> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<signed long> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<unsigned long> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<signed long long> { static constexpr bool value = true; }; |
|
|
|
|
template <> struct hb_is_integral<unsigned long long> { static constexpr bool value = true; }; |
|
|
|
|
#define hb_is_integral(T) hb_is_integral<T>::value |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* HB_META_HH */ |
|
|
|
|