Blaze  3.6
YieldsUpper.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_YIELDSUPPER_H_
36 #define _BLAZE_MATH_TYPETRAITS_YIELDSUPPER_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
46 
47 
48 namespace blaze {
49 
50 //=================================================================================================
51 //
52 // CLASS DEFINITION
53 //
54 //=================================================================================================
55 
56 //*************************************************************************************************
66 template< typename OP, typename MT, typename... MTs >
68  : public BoolConstant< YieldsUniUpper_v<OP,MT,MTs...> || YieldsStrictlyUpper_v<OP,MT,MTs...> >
69 {};
70 //*************************************************************************************************
71 
72 
73 //*************************************************************************************************
78 template< typename OP, typename MT, typename... MTs >
79 struct YieldsUpper< const OP, MT, MTs... >
80  : public YieldsUpper<OP,MT,MTs...>
81 {};
83 //*************************************************************************************************
84 
85 
86 //*************************************************************************************************
91 template< typename OP, typename MT, typename... MTs >
92 struct YieldsUpper< volatile OP, MT, MTs... >
93  : public YieldsUpper<OP,MT,MTs...>
94 {};
96 //*************************************************************************************************
97 
98 
99 //*************************************************************************************************
104 template< typename OP, typename MT, typename... MTs >
105 struct YieldsUpper< const volatile OP, MT, MTs... >
106  : public YieldsUpper<OP,MT,MTs...>
107 {};
109 //*************************************************************************************************
110 
111 
112 //*************************************************************************************************
125 template< typename OP, typename MT, typename... MTs >
126 constexpr bool YieldsUpper_v = YieldsUpper<OP,MT,MTs...>::value;
127 //*************************************************************************************************
128 
129 } // namespace blaze
130 
131 #endif
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:72
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the YieldsStrictlyUpper type trait.
Compile time check for operations on matrices.This type trait tests whether or not the given operatio...
Definition: YieldsUpper.h:67
constexpr bool YieldsUpper_v
Auxiliary variable template for the YieldsUpper type trait.The YieldsUpper_v variable template provid...
Definition: YieldsUpper.h:126
Header file for the IntegralConstant class template.
Header file for the YieldsUniUpper type trait.