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 
46 
47 
48 namespace blaze {
49 
50 //=================================================================================================
51 //
52 // CLASS DEFINITION
53 //
54 //=================================================================================================
55 
56 //*************************************************************************************************
88 template< typename T >
89 struct IsDiagonal
90  : public BoolConstant< IsLower_v<T> && IsUpper_v<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 
134 //*************************************************************************************************
147 template< typename T >
149 //*************************************************************************************************
150 
151 } // namespace blaze
152 
153 #endif
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
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
constexpr bool IsDiagonal_v
Auxiliary variable template for the IsDiagonal type trait.The IsDiagonal_v variable template provides...
Definition: IsDiagonal.h:148
Header file for the IntegralConstant class template.
Header file for the IsUpper type trait.