Blaze 3.9
IsSMPAssignable.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_TYPETRAITS_ISSMPASSIGNABLE_H_
36#define _BLAZE_MATH_TYPETRAITS_ISSMPASSIGNABLE_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
45
46
47namespace blaze {
48
49//=================================================================================================
50//
51// CLASS DEFINITION
52//
53//=================================================================================================
54
55//*************************************************************************************************
60template< typename T, typename = void >
61struct IsSMPAssignableHelper
62 : public FalseType
63{};
65//*************************************************************************************************
66
67
68//*************************************************************************************************
70template< typename T >
71struct IsSMPAssignableHelper< T, Void_t< decltype( T::smpAssignable ) > >
72 : public BoolConstant< T::smpAssignable >
73{};
75//*************************************************************************************************
76
77
78//*************************************************************************************************
111template< typename T >
113 : public BoolConstant< IsSMPAssignableHelper<T>::value >
114{};
115//*************************************************************************************************
116
117
118//*************************************************************************************************
131template< typename T >
133//*************************************************************************************************
134
135} // namespace blaze
136
137#endif
Header file for the IntegralConstant class template.
constexpr bool IsSMPAssignable_v
Auxiliary variable template for the IsSMPAssignable type trait.
Definition: IsSMPAssignable.h:132
void Void_t
Compile time type check.
Definition: Void.h:64
BoolConstant< false > FalseType
Type/value traits base class.
Definition: IntegralConstant.h:121
IntegralConstant< bool, B > BoolConstant
Generic wrapper for a compile time constant boolean value.
Definition: IntegralConstant.h:110
Generic wrapper for a compile time constant integral value.
Definition: IntegralConstant.h:74
Compile time check for data types.
Definition: IsSMPAssignable.h:114
Header file for the Void type trait.