Blaze  3.6
IsIdentity.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISIDENTITY_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISIDENTITY_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
46 
47 
48 namespace blaze {
49 
50 //=================================================================================================
51 //
52 // CLASS DEFINITION
53 //
54 //=================================================================================================
55 
56 //*************************************************************************************************
77 template< typename T >
78 struct IsIdentity
79  : public BoolConstant< IsUniLower_v<T> && IsUniUpper_v<T> >
80 {};
81 //*************************************************************************************************
82 
83 
84 //*************************************************************************************************
89 template< typename T >
90 struct IsIdentity< const T >
91  : public IsIdentity<T>
92 {};
94 //*************************************************************************************************
95 
96 
97 //*************************************************************************************************
102 template< typename T >
103 struct IsIdentity< volatile T >
104  : public IsIdentity<T>
105 {};
107 //*************************************************************************************************
108 
109 
110 //*************************************************************************************************
115 template< typename T >
116 struct IsIdentity< const volatile T >
117  : public IsIdentity<T>
118 {};
120 //*************************************************************************************************
121 
122 
123 //*************************************************************************************************
136 template< typename T >
138 //*************************************************************************************************
139 
140 } // namespace blaze
141 
142 #endif
Header file for the IsUniUpper type trait.
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:72
Header file for the IsUniLower type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Compile time check for identity matrices.This type trait tests whether or not the given template para...
Definition: IsIdentity.h:78
Header file for the IntegralConstant class template.
constexpr bool IsIdentity_v
Auxiliary variable template for the IsIdentity type trait.The IsIdentity_v variable template provides...
Definition: IsIdentity.h:137