35 #ifndef _BLAZE_UTIL_CONSTRAINTS_NUMERIC_H_
36 #define _BLAZE_UTIL_CONSTRAINTS_NUMERIC_H_
66 template<
bool >
struct CONSTRAINT_MUST_BE_NUMERIC_TYPE_FAILED;
67 template<>
struct CONSTRAINT_MUST_BE_NUMERIC_TYPE_FAILED<true> {
enum { value = 1 }; };
79 #define BLAZE_CONSTRAINT_MUST_BE_NUMERIC_TYPE(T) \
81 ::blaze::CONSTRAINT_TEST< \
82 ::blaze::CONSTRAINT_MUST_BE_NUMERIC_TYPE_FAILED< ::blaze::IsNumeric<T>::value >::value > \
83 BLAZE_JOIN( CONSTRAINT_MUST_BE_NUMERIC_TYPE_TYPEDEF, __LINE__ )
105 template<
bool >
struct CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE_FAILED;
106 template<>
struct CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE_FAILED<true> {
enum { value = 1 }; };
118 #define BLAZE_CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE(T) \
120 ::blaze::CONSTRAINT_TEST< \
121 ::blaze::CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE_FAILED< ::blaze::IsNumeric<T>::value >::value > \
122 BLAZE_JOIN( CONSTRAINT_MUST_NOT_BE_NUMERIC_TYPE_TYPEDEF, __LINE__ )
Header file for the IsNumeric type trait.
Constraint wrapper class.
Header file for compile time constraints.