Blaze 3.9
IsVecTVecMultExpr.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_TYPETRAITS_ISVECTVECMULTEXPR_H_
36#define _BLAZE_MATH_TYPETRAITS_ISVECTVECMULTEXPR_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 MT >
62TrueType isVecTVecMultExpr_backend( const volatile VecTVecMultExpr<MT>* );
63
64FalseType isVecTVecMultExpr_backend( ... );
66//*************************************************************************************************
67
68
69//*************************************************************************************************
82template< typename T >
84 : public decltype( isVecTVecMultExpr_backend( std::declval<T*>() ) )
85{};
86//*************************************************************************************************
87
88
89//*************************************************************************************************
94template< typename T >
95struct IsVecTVecMultExpr<T&>
96 : public FalseType
97{};
99//*************************************************************************************************
100
101
102//*************************************************************************************************
115template< typename T >
117//*************************************************************************************************
118
119} // namespace blaze
120
121#endif
Header file for the IntegralConstant class template.
Header file for the VecTVecMultExpr base class.
constexpr bool IsVecTVecMultExpr_v
Auxiliary variable template for the IsVecTVecMultExpr type trait.
Definition: IsVecTVecMultExpr.h:116
BoolConstant< true > TrueType
Type traits base class.
Definition: IntegralConstant.h:132
BoolConstant< false > FalseType
Type/value traits base class.
Definition: IntegralConstant.h:121
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check whether the given type is an outer product expression template.
Definition: IsVecTVecMultExpr.h:85