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 
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 IsIdentity
90  : public And< IsUniLower<T>, IsUniUpper<T> >
91 {};
92 //*************************************************************************************************
93 
94 
95 //*************************************************************************************************
100 template< typename T >
101 struct IsIdentity< const T >
102  : public IsIdentity<T>
103 {};
105 //*************************************************************************************************
106 
107 
108 //*************************************************************************************************
113 template< typename T >
114 struct IsIdentity< volatile T >
115  : public IsIdentity<T>
116 {};
118 //*************************************************************************************************
119 
120 
121 //*************************************************************************************************
126 template< typename T >
127 struct IsIdentity< const volatile T >
128  : public IsIdentity<T>
129 {};
131 //*************************************************************************************************
132 
133 } // namespace blaze
134 
135 #endif
Header file for the IsUniUpper type trait.
Header file for the And class template.
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:89
Compile time logical &#39;and&#39; evaluation.The And alias declaration performs at compile time a logical &#39;a...
Definition: And.h:76