IsDiagonal.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISDIAGONAL_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISDIAGONAL_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
45 #include <blaze/util/mpl/And.h>
46 
47 
48 namespace blaze {
49 
50 //=================================================================================================
51 //
52 // CLASS DEFINITION
53 //
54 //=================================================================================================
55 
56 //*************************************************************************************************
88 template< typename T >
89 struct IsDiagonal
90  : public And< IsLower<T>, IsUpper<T> >
91 {};
92 //*************************************************************************************************
93 
94 
95 //*************************************************************************************************
100 template< typename T >
101 struct IsDiagonal< const T >
102  : public IsDiagonal<T>
103 {};
105 //*************************************************************************************************
106 
107 
108 //*************************************************************************************************
113 template< typename T >
114 struct IsDiagonal< volatile T >
115  : public IsDiagonal<T>
116 {};
118 //*************************************************************************************************
119 
120 
121 //*************************************************************************************************
126 template< typename T >
127 struct IsDiagonal< const volatile T >
128  : public IsDiagonal<T>
129 {};
131 //*************************************************************************************************
132 
133 } // namespace blaze
134 
135 #endif
Header file for the And class template.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the IsLower type trait.
Compile time check for diagonal matrices.This type trait tests whether or not the given template para...
Definition: IsDiagonal.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 IsUpper type trait.