35 #ifndef _BLAZE_MATH_CONSTRAINTS_TRANSPOSEFLAG_H_
36 #define _BLAZE_MATH_CONSTRAINTS_TRANSPOSEFLAG_H_
67 template<
bool >
struct CONSTRAINT_MUST_BE_VECTOR_WITH_TRANSPOSE_FLAG_FAILED;
68 template<>
struct CONSTRAINT_MUST_BE_VECTOR_WITH_TRANSPOSE_FLAG_FAILED<true> {
enum { value = 1 }; };
81 #define BLAZE_CONSTRAINT_MUST_BE_VECTOR_WITH_TRANSPOSE_FLAG(T,TF) \
83 blaze::CONSTRAINT_TEST< \
84 blaze::CONSTRAINT_MUST_BE_VECTOR_WITH_TRANSPOSE_FLAG_FAILED< \
85 blaze::IsVector<T>::value && \
86 blaze::TransposeFlag<T>::value == TF >::value > \
87 BLAZE_JOIN( CONSTRAINT_MUST_BE_VECTOR_WITH_TRANSPOSE_FLAG_TYPEDEF, __LINE__ )
109 template<
bool >
struct CONSTRAINT_VECTORS_MUST_HAVE_SAME_TRANSPOSE_FLAG_FAILED;
110 template<>
struct CONSTRAINT_VECTORS_MUST_HAVE_SAME_TRANSPOSE_FLAG_FAILED<true> {
enum { value = 1 }; };
122 #define BLAZE_CONSTRAINT_VECTORS_MUST_HAVE_SAME_TRANSPOSE_FLAG(T1,T2) \
124 blaze::CONSTRAINT_TEST< \
125 blaze::CONSTRAINT_VECTORS_MUST_HAVE_SAME_TRANSPOSE_FLAG_FAILED< \
126 blaze::IsVector<T1>::value && \
127 blaze::IsVector<T2>::value && \
128 blaze::TransposeFlag<T1>::value == blaze::TransposeFlag<T2>::value >::value > \
129 BLAZE_JOIN( CONSTRAINT_VECTORS_MUST_HAVE_SAME_TRANSPOSE_FLAG_TYPEDEF, __LINE__ )
151 template<
bool >
struct CONSTRAINT_VECTORS_MUST_HAVE_DIFFERENT_TRANSPOSE_FLAG_FAILED;
152 template<>
struct CONSTRAINT_VECTORS_MUST_HAVE_DIFFERENT_TRANSPOSE_FLAG_FAILED<true> {
enum { value = 1 }; };
164 #define BLAZE_CONSTRAINT_VECTORS_MUST_HAVE_DIFFERENT_TRANSPOSE_FLAG(T1,T2) \
166 blaze::CONSTRAINT_TEST< \
167 blaze::CONSTRAINT_VECTORS_MUST_HAVE_DIFFERENT_TRANSPOSE_FLAG_FAILED< \
168 blaze::IsVector<T1>::value && \
169 blaze::IsVector<T2>::value && \
170 blaze::TransposeFlag<T1>::value != blaze::TransposeFlag<T2>::value >::value > \
171 BLAZE_JOIN( CONSTRAINT_VECTORS_MUST_HAVE_DIFFERENT_TRANSPOSE_FLAG_TYPEDEF, __LINE__ )
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the TransposeFlag type trait.
Header file for the IsVector type trait.
Constraint wrapper class.
Header file for compile time constraints.