Blaze 3.9
IsVector.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_TYPETRAITS_ISVECTOR_H_
36#define _BLAZE_MATH_TYPETRAITS_ISVECTOR_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 VT, bool TF >
62TrueType isVector_backend( const volatile Vector<VT,TF>* );
63
64FalseType isVector_backend( ... );
66//*************************************************************************************************
67
68
69//*************************************************************************************************
91template< typename T >
93 : public decltype( isVector_backend( std::declval<T*>() ) )
94{};
95//*************************************************************************************************
96
97
98//*************************************************************************************************
103template< typename T >
104struct IsVector<T&>
105 : public FalseType
106{};
108//*************************************************************************************************
109
110
111//*************************************************************************************************
124template< typename T >
126//*************************************************************************************************
127
128} // namespace blaze
129
130#endif
Header file for the IntegralConstant class template.
constexpr bool IsVector_v
Auxiliary variable template for the IsVector type trait.
Definition: IsVector.h:125
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 all forward declarations for expression class templates.
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for vector types.
Definition: IsVector.h:94