Blaze  3.6
IsGeneral.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISGENERAL_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISGENERAL_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
47 
48 
49 namespace blaze {
50 
51 //=================================================================================================
52 //
53 // CLASS DEFINITION
54 //
55 //=================================================================================================
56 
57 //*************************************************************************************************
87 template< typename T >
88 struct IsGeneral
89  : public BoolConstant< !IsSymmetric_v<T> && !IsHermitian_v<T> && !IsTriangular_v<T> >
90 {};
91 //*************************************************************************************************
92 
93 
94 //*************************************************************************************************
99 template< typename T >
100 struct IsGeneral< const T >
101  : public IsGeneral<T>
102 {};
104 //*************************************************************************************************
105 
106 
107 //*************************************************************************************************
112 template< typename T >
113 struct IsGeneral< volatile T >
114  : public IsGeneral<T>
115 {};
117 //*************************************************************************************************
118 
119 
120 //*************************************************************************************************
125 template< typename T >
126 struct IsGeneral< const volatile T >
127  : public IsGeneral<T>
128 {};
130 //*************************************************************************************************
131 
132 
133 //*************************************************************************************************
146 template< typename T >
148 //*************************************************************************************************
149 
150 } // namespace blaze
151 
152 #endif
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:72
Header file for the IsSymmetric type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the IsTriangular type trait.
Compile time check for general matrices.This type trait tests whether or not the given template param...
Definition: IsGeneral.h:88
constexpr bool IsGeneral_v
Auxiliary variable template for the IsGeneral type trait.The IsGeneral_v variable template provides a...
Definition: IsGeneral.h:147
Header file for the IntegralConstant class template.
Header file for the IsHermitian type trait.