22 #ifndef _BLAZE_UTIL_CONSTRAINTS_NUMERIC_H_
23 #define _BLAZE_UTIL_CONSTRAINTS_NUMERIC_H_
53 template<
bool >
struct CONSTRAINT_MUST_BE_NUMERIC_TYPE_FAILED;
54 template<>
struct CONSTRAINT_MUST_BE_NUMERIC_TYPE_FAILED<true> {
enum { value = 1 }; };
66 #define BLAZE_CONSTRAINT_MUST_BE_NUMERIC_TYPE(T) \
68 ::blaze::CONSTRAINT_TEST< \
69 ::blaze::CONSTRAINT_MUST_BE_NUMERIC_TYPE_FAILED< ::blaze::IsNumeric<T>::value >::value > \
70 BLAZE_JOIN( CONSTRAINT_MUST_BE_NUMERIC_TYPE_TYPEDEF, __LINE__ )
92 template<
bool >
struct CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE_FAILED;
93 template<>
struct CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE_FAILED<true> {
enum { value = 1 }; };
105 #define BLAZE_CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE(T) \
107 ::blaze::CONSTRAINT_TEST< \
108 ::blaze::CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE_FAILED< ::blaze::IsNumeric<T>::value >::value > \
109 BLAZE_JOIN( CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE_TYPEDEF, __LINE__ )