Blaze 3.9
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
48namespace blaze {
49
50//=================================================================================================
51//
52// CLASS DEFINITION
53//
54//=================================================================================================
55
56//*************************************************************************************************
88template< typename T >
90 : public BoolConstant< IsLower_v<T> && IsUpper_v<T> >
91{};
92//*************************************************************************************************
93
94
95//*************************************************************************************************
100template< typename T >
101struct IsDiagonal< const T >
102 : public IsDiagonal<T>
103{};
105//*************************************************************************************************
106
107
108//*************************************************************************************************
113template< typename T >
114struct IsDiagonal< volatile T >
115 : public IsDiagonal<T>
116{};
118//*************************************************************************************************
119
120
121//*************************************************************************************************
126template< typename T >
127struct IsDiagonal< const volatile T >
128 : public IsDiagonal<T>
129{};
131//*************************************************************************************************
132
133
134//*************************************************************************************************
147template< typename T >
149//*************************************************************************************************
150
151} // namespace blaze
152
153#endif
Header file for the IntegralConstant class template.
Header file for the IsLower type trait.
Header file for the IsUpper type trait.
constexpr bool IsDiagonal_v
Auxiliary variable template for the IsDiagonal type trait.
Definition: IsDiagonal.h:148
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for diagonal matrices.
Definition: IsDiagonal.h:91