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 > : public IsGeneral<T>
103 {};
105 //*************************************************************************************************
106 
107 
108 //*************************************************************************************************
113 template< typename T >
114 struct IsGeneral< volatile T > : public IsGeneral<T>
115 {};
117 //*************************************************************************************************
118 
119 
120 //*************************************************************************************************
125 template< typename T >
126 struct IsGeneral< const volatile T > : public IsGeneral<T>
127 {};
129 //*************************************************************************************************
130 
131 } // namespace blaze
132 
133 #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.