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 
46 #include <blaze/util/mpl/And.h>
47 #include <blaze/util/mpl/Not.h>
48 
49 
50 namespace blaze {
51 
52 //=================================================================================================
53 //
54 // CLASS DEFINITION
55 //
56 //=================================================================================================
57 
58 //*************************************************************************************************
88 template< typename T >
89 struct IsGeneral
90  : public And< Not< IsSymmetric<T> >, Not< IsHermitian<T> >, Not< IsTriangular<T> > >
91 {};
92 //*************************************************************************************************
93 
94 
95 //*************************************************************************************************
100 template< typename T >
101 struct IsGeneral< const T >
102  : public IsGeneral<T>
103 {};
105 //*************************************************************************************************
106 
107 
108 //*************************************************************************************************
113 template< typename T >
114 struct IsGeneral< volatile T >
115  : public IsGeneral<T>
116 {};
118 //*************************************************************************************************
119 
120 
121 //*************************************************************************************************
126 template< typename T >
127 struct IsGeneral< const volatile T >
128  : public IsGeneral<T>
129 {};
131 //*************************************************************************************************
132 
133 } // namespace blaze
134 
135 #endif
Header file for the And class template.
Header file for the IsSymmetric type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
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:89
Compile time logical &#39;and&#39; evaluation.The And alias declaration performs at compile time a logical &#39;a...
Definition: And.h:76
Header file for the IsHermitian type trait.