IsStrictlyUpper.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISSTRICTLYUPPER_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISSTRICTLYUPPER_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 //*************************************************************************************************
85 template< typename T >
86 struct IsStrictlyUpper : public FalseType
87 {
88  public:
89  //**********************************************************************************************
91  enum { value = 0 };
92  typedef FalseType Type;
94  //**********************************************************************************************
95 };
96 //*************************************************************************************************
97 
98 
99 //*************************************************************************************************
104 template< typename T >
105 struct IsStrictlyUpper< const T > : public IsStrictlyUpper<T>::Type
106 {
107  public:
108  //**********************************************************************************************
109  enum { value = IsStrictlyUpper<T>::value };
110  typedef typename IsStrictlyUpper<T>::Type Type;
111  //**********************************************************************************************
112 };
114 //*************************************************************************************************
115 
116 
117 //*************************************************************************************************
122 template< typename T >
123 struct IsStrictlyUpper< volatile T > : public IsStrictlyUpper<T>::Type
124 {
125  public:
126  //**********************************************************************************************
127  enum { value = IsStrictlyUpper<T>::value };
128  typedef typename IsStrictlyUpper<T>::Type Type;
129  //**********************************************************************************************
130 };
132 //*************************************************************************************************
133 
134 
135 //*************************************************************************************************
140 template< typename T >
141 struct IsStrictlyUpper< const volatile T > : public IsStrictlyUpper<T>::Type
142 {
143  public:
144  //**********************************************************************************************
145  enum { value = IsStrictlyUpper<T>::value };
146  typedef typename IsStrictlyUpper<T>::Type Type;
147  //**********************************************************************************************
148 };
150 //*************************************************************************************************
151 
152 } // namespace blaze
153 
154 #endif
Header file for the FalseType type/value trait base class.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Compile time check for strictly upper triangular matrices.This type trait tests whether or not the gi...
Definition: IsStrictlyUpper.h:86
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.