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 
44 #include <blaze/util/FalseType.h>
45 #include <blaze/util/TrueType.h>
46 
47 
48 namespace blaze {
49 
50 //=================================================================================================
51 //
52 // CLASS DEFINITION
53 //
54 //=================================================================================================
55 
56 //*************************************************************************************************
87 template< typename T >
88 struct IsElements
89  : public FalseType
90 {};
91 //*************************************************************************************************
92 
93 
94 //*************************************************************************************************
99 template< typename VT, bool TF, bool DF, size_t... CEAs >
100 struct IsElements< Elements<VT,TF,DF,CEAs...> >
101  : public TrueType
102 {};
104 //*************************************************************************************************
105 
106 
107 //*************************************************************************************************
112 template< typename VT, bool TF, bool DF, size_t... CEAs >
113 struct IsElements< const Elements<VT,TF,DF,CEAs...> >
114  : public TrueType
115 {};
117 //*************************************************************************************************
118 
119 
120 //*************************************************************************************************
125 template< typename VT, bool TF, bool DF, size_t... CEAs >
126 struct IsElements< volatile Elements<VT,TF,DF,CEAs...> >
127  : public TrueType
128 {};
130 //*************************************************************************************************
131 
132 
133 //*************************************************************************************************
138 template< typename VT, bool TF, bool DF, size_t... CEAs >
139 struct IsElements< const volatile Elements<VT,TF,DF,CEAs...> >
140  : public TrueType
141 {};
143 //*************************************************************************************************
144 
145 } // namespace blaze
146 
147 #endif
Compile time check for element selections.This type trait tests whether or not the given template par...
Definition: IsElements.h:88
Header file for the FalseType type/value trait base class.
Generic wrapper for a compile time constant integral value.The IntegralConstant class template repres...
Definition: IntegralConstant.h:71
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for all forward declarations for views.
Header file for the TrueType type/value trait base class.