Blaze 3.9
TransposeFlag.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_CONSTRAINTS_TRANSPOSEFLAG_H_
36#define _BLAZE_MATH_CONSTRAINTS_TRANSPOSEFLAG_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
45
46
47namespace blaze {
48
49//=================================================================================================
50//
51// MUST_BE_VECTOR_WITH_TRANSPOSE_FLAG CONSTRAINT
52//
53//=================================================================================================
54
55//*************************************************************************************************
63#define BLAZE_CONSTRAINT_MUST_BE_VECTOR_WITH_TRANSPOSE_FLAG(T,TF) \
64 static_assert( ::blaze::IsVector_v<T> && \
65 ::blaze::TransposeFlag_v<T> == TF, "Invalid transpose flag detected" )
66//*************************************************************************************************
67
68
69
70
71//=================================================================================================
72//
73// VECTORS_MUST_HAVE_SAME_TRANSPOSE_FLAG CONSTRAINT
74//
75//=================================================================================================
76
77//*************************************************************************************************
84#define BLAZE_CONSTRAINT_VECTORS_MUST_HAVE_SAME_TRANSPOSE_FLAG(T1,T2) \
85 static_assert( ::blaze::IsVector_v<T1> && \
86 ::blaze::IsVector_v<T2> && \
87 ::blaze::TransposeFlag_v<T1> == ::blaze::TransposeFlag_v<T2>, "Invalid transpose flag detected" )
88//*************************************************************************************************
89
90
91
92
93//=================================================================================================
94//
95// VECTORS_MUST_HAVE_DIFFERENT_TRANSPOSE_FLAG CONSTRAINT
96//
97//=================================================================================================
98
99//*************************************************************************************************
106#define BLAZE_CONSTRAINT_VECTORS_MUST_HAVE_DIFFERENT_TRANSPOSE_FLAG(T1,T2) \
107 static_assert( ::blaze::IsVector_v<T1> && \
108 ::blaze::IsVector_v<T2> && \
109 ::blaze::TransposeFlag_v<T1> != ::blaze::TransposeFlag_v<T2>, "Invalid transpose flag detected" )
110//*************************************************************************************************
111
112} // namespace blaze
113
114#endif
Header file for the IsVector type trait.
Header file for the TransposeFlag type trait.