Blaze 3.9
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
47namespace 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.
Header file for the StorageOrder type trait.