IsBand.h
Go to the documentation of this file.
1 //=================================================================================================
33 //=================================================================================================
34 
35 #ifndef _BLAZE_MATH_TYPETRAITS_ISBAND_H_
36 #define _BLAZE_MATH_TYPETRAITS_ISBAND_H_
37 
38 
39 //*************************************************************************************************
40 // Includes
41 //*************************************************************************************************
42 
44 #include <blaze/util/FalseType.h>
45 #include <blaze/util/TrueType.h>
46 #include <blaze/util/Types.h>
47 
48 
49 namespace blaze {
50 
51 //=================================================================================================
52 //
53 // CLASS DEFINITION
54 //
55 //=================================================================================================
56 
57 //*************************************************************************************************
90 template< typename T >
91 struct IsBand
92  : public FalseType
93 {};
94 //*************************************************************************************************
95 
96 
97 //*************************************************************************************************
102 template< typename MT, bool TF, bool DF, bool MF, ptrdiff_t... CBAs >
103 struct IsBand< Band<MT,TF,DF,MF,CBAs...> >
104  : public TrueType
105 {};
107 //*************************************************************************************************
108 
109 
110 //*************************************************************************************************
115 template< typename MT, bool TF, bool DF, bool MF, ptrdiff_t... CBAs >
116 struct IsBand< const Band<MT,TF,DF,MF,CBAs...> >
117  : public TrueType
118 {};
120 //*************************************************************************************************
121 
122 
123 //*************************************************************************************************
128 template< typename MT, bool TF, bool DF, bool MF, ptrdiff_t... CBAs >
129 struct IsBand< volatile Band<MT,TF,DF,MF,CBAs...> >
130  : public TrueType
131 {};
133 //*************************************************************************************************
134 
135 
136 //*************************************************************************************************
141 template< typename MT, bool TF, bool DF, bool MF, ptrdiff_t... CBAs >
142 struct IsBand< const volatile Band<MT,TF,DF,MF,CBAs...> >
143  : public TrueType
144 {};
146 //*************************************************************************************************
147 
148 
149 //*************************************************************************************************
162 template< typename T >
163 constexpr bool IsBand_v = IsBand<T>::value;
164 //*************************************************************************************************
165 
166 } // namespace blaze
167 
168 #endif
Pointer difference type of the Blaze library.
Header file for basic type definitions.
constexpr bool IsBand_v
Auxiliary variable template for the IsBand type trait.The IsBand_v variable template provides a conve...
Definition: IsBand.h:163
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
BoolConstant< true > TrueType
Type traits base class.The TrueType class is used as base class for type traits and value traits that...
Definition: TrueType.h:61
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Compile time check for bands.This type trait tests whether or not the given template parameter is a b...
Definition: IsBand.h:91
Header file for all forward declarations for views.
Header file for the TrueType type/value trait base class.