Blaze 3.9
YieldsUniTriangular.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_TYPETRAITS_YIELDSUNITRIANGULAR_H_
36#define _BLAZE_MATH_TYPETRAITS_YIELDSUNITRIANGULAR_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
46
47
48namespace blaze {
49
50//=================================================================================================
51//
52// CLASS DEFINITION
53//
54//=================================================================================================
55
56//*************************************************************************************************
67template< typename OP, typename MT, typename... MTs >
69 : public BoolConstant< YieldsUniLower_v<OP,MT,MTs...> || YieldsUniUpper_v<OP,MT,MTs...> >
70{};
71//*************************************************************************************************
72
73
74//*************************************************************************************************
79template< typename OP, typename MT, typename... MTs >
80struct YieldsUniTriangular< const OP, MT, MTs... >
81 : public YieldsUniTriangular<OP,MT,MTs...>
82{};
84//*************************************************************************************************
85
86
87//*************************************************************************************************
92template< typename OP, typename MT, typename... MTs >
93struct YieldsUniTriangular< volatile OP, MT, MTs... >
94 : public YieldsUniTriangular<OP,MT,MTs...>
95{};
97//*************************************************************************************************
98
99
100//*************************************************************************************************
105template< typename OP, typename MT, typename... MTs >
106struct YieldsUniTriangular< const volatile OP, MT, MTs... >
107 : public YieldsUniTriangular<OP,MT,MTs...>
108{};
110//*************************************************************************************************
111
112
113//*************************************************************************************************
126template< typename OP, typename MT, typename... MTs >
127constexpr bool YieldsUniTriangular_v = YieldsUniTriangular<OP,MT,MTs...>::value;
128//*************************************************************************************************
129
130} // namespace blaze
131
132#endif
Header file for the IntegralConstant class template.
Header file for the YieldsUniLower type trait.
Header file for the YieldsUniUpper type trait.
constexpr bool YieldsUniTriangular_v
Auxiliary variable template for the YieldsUniTriangular type trait.
Definition: YieldsUniTriangular.h:127
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for operations on matrices.
Definition: YieldsUniTriangular.h:70