Blaze 3.9
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
45#include <blaze/util/Types.h>
46
47
48namespace blaze {
49
50//=================================================================================================
51//
52// CLASS DEFINITION
53//
54//=================================================================================================
55
56//*************************************************************************************************
89template< typename T >
90struct IsBand
91 : public FalseType
92{};
93//*************************************************************************************************
94
95
96//*************************************************************************************************
101template< typename MT, bool TF, bool DF, bool MF, ptrdiff_t... CBAs >
102struct IsBand< Band<MT,TF,DF,MF,CBAs...> >
103 : public TrueType
104{};
106//*************************************************************************************************
107
108
109//*************************************************************************************************
114template< typename MT, bool TF, bool DF, bool MF, ptrdiff_t... CBAs >
115struct IsBand< const Band<MT,TF,DF,MF,CBAs...> >
116 : public TrueType
117{};
119//*************************************************************************************************
120
121
122//*************************************************************************************************
127template< typename MT, bool TF, bool DF, bool MF, ptrdiff_t... CBAs >
128struct IsBand< volatile Band<MT,TF,DF,MF,CBAs...> >
129 : public TrueType
130{};
132//*************************************************************************************************
133
134
135//*************************************************************************************************
140template< typename MT, bool TF, bool DF, bool MF, ptrdiff_t... CBAs >
141struct IsBand< const volatile Band<MT,TF,DF,MF,CBAs...> >
142 : public TrueType
143{};
145//*************************************************************************************************
146
147
148//*************************************************************************************************
161template< typename T >
162constexpr bool IsBand_v = IsBand<T>::value;
163//*************************************************************************************************
164
165} // namespace blaze
166
167#endif
Header file for the IntegralConstant class template.
Pointer difference type of the Blaze library.
constexpr bool IsBand_v
Auxiliary variable template for the IsBand type trait.
Definition: IsBand.h:162
BoolConstant< true > TrueType
Type traits base class.
Definition: IntegralConstant.h:132
Header file for all forward declarations for views.
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for bands.
Definition: IsBand.h:92
Header file for basic type definitions.