Blaze  3.6
YieldsZero.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_YIELDSZERO_H_
36 #define _BLAZE_MATH_TYPETRAITS_YIELDSZERO_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
44 
45 
46 namespace blaze {
47 
48 //=================================================================================================
49 //
50 // CLASS DEFINITION
51 //
52 //=================================================================================================
53 
54 //*************************************************************************************************
65 template< typename OP, typename T, typename... Ts >
66 struct YieldsZero
67  : public FalseType
68 {};
69 //*************************************************************************************************
70 
71 
72 //*************************************************************************************************
77 template< typename OP, typename T, typename... Ts >
78 struct YieldsZero< const OP, T, Ts... >
79  : public YieldsZero<OP,T,Ts...>
80 {};
82 //*************************************************************************************************
83 
84 
85 //*************************************************************************************************
90 template< typename OP, typename T, typename... Ts >
91 struct YieldsZero< volatile OP, T, Ts... >
92  : public YieldsZero<OP,T,Ts...>
93 {};
95 //*************************************************************************************************
96 
97 
98 //*************************************************************************************************
103 template< typename OP, typename T, typename... Ts >
104 struct YieldsZero< const volatile OP, T, Ts... >
105  : public YieldsZero<OP,T,Ts...>
106 {};
108 //*************************************************************************************************
109 
110 
111 //*************************************************************************************************
124 template< typename OP, typename T, typename... Ts >
125 constexpr bool YieldsZero_v = YieldsZero<OP,T,Ts...>::value;
126 //*************************************************************************************************
127 
128 } // namespace blaze
129 
130 #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
Compile time check for operations on vectors and matrices.This type trait tests whether or not the gi...
Definition: YieldsZero.h:66
constexpr bool YieldsZero_v
Auxiliary variable template for the YieldsZero type trait.The YieldsZero_v variable template provides...
Definition: YieldsZero.h:125
Header file for the IntegralConstant class template.