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 #include <blaze/util/mpl/And.h>
48 #include <blaze/util/mpl/Not.h>
49 
50 
51 namespace blaze {
52 
53 //=================================================================================================
54 //
55 // CLASS DEFINITION
56 //
57 //=================================================================================================
58 
59 //*************************************************************************************************
89 template< typename T >
90 struct IsGeneral
91  : public BoolConstant< And< Not< IsSymmetric<T> >, Not< IsHermitian<T> >, Not< IsTriangular<T> > >::value >
92 {};
93 //*************************************************************************************************
94 
95 
96 //*************************************************************************************************
101 template< typename T >
102 struct IsGeneral< const T >
103  : public IsGeneral<T>
104 {};
106 //*************************************************************************************************
107 
108 
109 //*************************************************************************************************
114 template< typename T >
115 struct IsGeneral< volatile T >
116  : public IsGeneral<T>
117 {};
119 //*************************************************************************************************
120 
121 
122 //*************************************************************************************************
127 template< typename T >
128 struct IsGeneral< const volatile T >
129  : public IsGeneral<T>
130 {};
132 //*************************************************************************************************
133 
134 } // namespace blaze
135 
136 #endif
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
Header file for the And class template.
Header file for the IsSymmetric type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the Not class template.
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:90
Header file for the IntegralConstant class template.
Header file for the IsHermitian type trait.