IsUniUpper.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISUNIUPPER_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISUNIUPPER_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
43 #include <blaze/util/FalseType.h>
44 #include <blaze/util/TrueType.h>
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS DEFINITION
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
84 template< typename T >
85 struct IsUniUpper : public FalseType
86 {
87  public:
88  //**********************************************************************************************
90  enum { value = 0 };
91  typedef FalseType Type;
93  //**********************************************************************************************
94 };
95 //*************************************************************************************************
96 
97 
98 //*************************************************************************************************
103 template< typename T >
104 struct IsUniUpper< const T > : public IsUniUpper<T>::Type
105 {
106  public:
107  //**********************************************************************************************
108  enum { value = IsUniUpper<T>::value };
109  typedef typename IsUniUpper<T>::Type Type;
110  //**********************************************************************************************
111 };
113 //*************************************************************************************************
114 
115 
116 //*************************************************************************************************
121 template< typename T >
122 struct IsUniUpper< volatile T > : public IsUniUpper<T>::Type
123 {
124  public:
125  //**********************************************************************************************
126  enum { value = IsUniUpper<T>::value };
127  typedef typename IsUniUpper<T>::Type Type;
128  //**********************************************************************************************
129 };
131 //*************************************************************************************************
132 
133 
134 //*************************************************************************************************
139 template< typename T >
140 struct IsUniUpper< const volatile T > : public IsUniUpper<T>::Type
141 {
142  public:
143  //**********************************************************************************************
144  enum { value = IsUniUpper<T>::value };
145  typedef typename IsUniUpper<T>::Type Type;
146  //**********************************************************************************************
147 };
149 //*************************************************************************************************
150 
151 } // namespace blaze
152 
153 #endif
Header file for the FalseType type/value trait base class.
Compile time check for upper unitriangular matrices.This type trait tests whether or not the given te...
Definition: IsUniUpper.h:85
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
boost::false_type FalseType
Type/value traits base class.The FalseType class is used as base class for type traits and value trai...
Definition: FalseType.h:61
Header file for the TrueType type/value trait base class.