Blaze  3.6
StorageOrder.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_CONSTRAINTS_STORAGEORDER_H_
36 #define _BLAZE_MATH_CONSTRAINTS_STORAGEORDER_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // MUST_BE_MATRIX_WITH_STORAGE_ORDER CONSTRAINT
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
63 #define BLAZE_CONSTRAINT_MUST_BE_MATRIX_WITH_STORAGE_ORDER(T,SO) \
64  static_assert( ::blaze::IsMatrix_v<T> && \
65  ::blaze::StorageOrder_v<T> == SO, "Invalid storage order detected" )
66 //*************************************************************************************************
67 
68 
69 
70 
71 //=================================================================================================
72 //
73 // MATRICES_MUST_HAVE_SAME_STORAGE_ORDER CONSTRAINT
74 //
75 //=================================================================================================
76 
77 //*************************************************************************************************
84 #define BLAZE_CONSTRAINT_MATRICES_MUST_HAVE_SAME_STORAGE_ORDER(T1,T2) \
85  static_assert( ::blaze::IsMatrix_v<T1> && \
86  ::blaze::IsMatrix_v<T2> && \
87  ::blaze::StorageOrder_v<T1> == ::blaze::StorageOrder_v<T2>, "Invalid storage order failed" )
88 //*************************************************************************************************
89 
90 
91 
92 
93 //=================================================================================================
94 //
95 // MATRICES_MUST_HAVE_DIFFERENT_STORAGE_ORDER CONSTRAINT
96 //
97 //=================================================================================================
98 
99 //*************************************************************************************************
106 #define BLAZE_CONSTRAINT_MATRICES_MUST_HAVE_DIFFERENT_STORAGE_ORDER(T1,T2) \
107  static_assert( ::blaze::IsMatrix_v<T1> && \
108  ::blaze::IsMatrix_v<T2> && \
109  ::blaze::StorageOrder_v<T1> != ::blaze::StorageOrder_v<T2>, "Invalid storage order detected" )
110 //*************************************************************************************************
111 
112 } // namespace blaze
113 
114 #endif
Header file for the IsMatrix type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the StorageOrder type trait.