Blaze  3.6
IsElements.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISELEMENTS_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISELEMENTS_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
45 
46 
47 namespace blaze {
48 
49 //=================================================================================================
50 //
51 // CLASS DEFINITION
52 //
53 //=================================================================================================
54 
55 //*************************************************************************************************
86 template< typename T >
87 struct IsElements
88  : public FalseType
89 {};
90 //*************************************************************************************************
91 
92 
93 //*************************************************************************************************
98 template< typename VT, bool TF, bool DF, typename... CEAs >
99 struct IsElements< Elements<VT,TF,DF,CEAs...> >
100  : public TrueType
101 {};
103 //*************************************************************************************************
104 
105 
106 //*************************************************************************************************
111 template< typename VT, bool TF, bool DF, typename... CEAs >
112 struct IsElements< const Elements<VT,TF,DF,CEAs...> >
113  : public TrueType
114 {};
116 //*************************************************************************************************
117 
118 
119 //*************************************************************************************************
124 template< typename VT, bool TF, bool DF, typename... CEAs >
125 struct IsElements< volatile Elements<VT,TF,DF,CEAs...> >
126  : public TrueType
127 {};
129 //*************************************************************************************************
130 
131 
132 //*************************************************************************************************
137 template< typename VT, bool TF, bool DF, typename... CEAs >
138 struct IsElements< const volatile Elements<VT,TF,DF,CEAs...> >
139  : public TrueType
140 {};
142 //*************************************************************************************************
143 
144 
145 //*************************************************************************************************
158 template< typename T >
160 //*************************************************************************************************
161 
162 } // namespace blaze
163 
164 #endif
Compile time check for element selections.This type trait tests whether or not the given template par...
Definition: IsElements.h:87
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:72
constexpr bool IsElements_v
Auxiliary variable template for the IsElements type trait.The IsElements_v variable template provides...
Definition: IsElements.h:159
BoolConstant< true > TrueType
Type traits base class.The TrueType class is used as base class for type traits and value traits that...
Definition: IntegralConstant.h:132
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for all forward declarations for views.
Header file for the IntegralConstant class template.