Blaze 3.9
IsSIMDPack.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_TYPETRAITS_ISSIMDPACK_H_
36#define _BLAZE_MATH_TYPETRAITS_ISSIMDPACK_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <utility>
46
47
48namespace blaze {
49
50//=================================================================================================
51//
52// CLASS DEFINITION
53//
54//=================================================================================================
55
56//*************************************************************************************************
61template< typename U >
62TrueType isSIMDPack_backend( const volatile SIMDPack<U>* );
63
64FalseType isSIMDPack_backend( ... );
66//*************************************************************************************************
67
68
69//*************************************************************************************************
123template< typename T >
125 : public decltype( isSIMDPack_backend( std::declval<T*>() ) )
126{};
127//*************************************************************************************************
128
129
130//*************************************************************************************************
135template< typename T >
136struct IsSIMDPack<T&>
137 : public FalseType
138{};
140//*************************************************************************************************
141
142
143//*************************************************************************************************
156template< typename T >
158//*************************************************************************************************
159
160} // namespace blaze
161
162#endif
Header file for the IntegralConstant class template.
constexpr bool IsSIMDPack_v
Auxiliary variable template for the IsSIMDPack type trait.
Definition: IsSIMDPack.h:157
BoolConstant< true > TrueType
Type traits base class.
Definition: IntegralConstant.h:132
BoolConstant< false > FalseType
Type/value traits base class.
Definition: IntegralConstant.h:121
Header file for the SIMDPack base class.
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for SIMD data types.
Definition: IsSIMDPack.h:126