35 #ifndef _BLAZE_MATH_TRAITS_ADDTRAIT_H_
36 #define _BLAZE_MATH_TRAITS_ADDTRAIT_H_
140 template<
typename T1
155 struct NativeType {
using Type = decltype( std::declval<Type1>() + std::declval<Type2>() ); };
173 , NativeType > >::Type;
185 template<
typename T1,
typename T2 >
202 template<
typename T1,
typename T2 >
203 struct AddTrait< T1, complex<T2>,
EnableIf_< IsBuiltin<T1> > >
207 using Type = CommonType_< T1, complex<T2> >;
219 template<
typename T1,
typename T2 >
220 struct AddTrait< complex<T1>, complex<T2> >
224 using Type = CommonType_< complex<T1>, complex<T2> >;
244 template<
typename T1,
typename T2 >
Compile time check for volatile data types.The IsVolatile type trait tests whether or not the given t...
Definition: IsVolatile.h:75
typename Decay< T >::Type Decay_
Auxiliary alias declaration for the Decay type trait.The Decay_ alias declaration provides a convenie...
Definition: Decay.h:98
Header file for the IsIntegral type trait.
typename MakeSigned< T >::Type MakeSigned_
Auxiliary alias declaration for the MakeSigned type trait.The MakeSigned_ alias declaration provides ...
Definition: MakeSigned.h:99
Header file for the And class template.
Header file for the IsVolatile type trait.
Header file for the Decay type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
Header file for the If class template.
Header file for the Or class template.
Compile time type check.This type trait determines whether the given type trait TypeTrait evaluates t...
Definition: Any.h:80
Header file for the EnableIf class template.
Header file for the CommonType type trait.
Header file for the IsConst type trait.
Base template for the AddTrait class.
Definition: AddTrait.h:143
typename If< T1, T2, T3 >::Type If_
Auxiliary alias declaration for the If class template.The If_ alias declaration provides a convenient...
Definition: If.h:160
Compile time check for built-in data types.This type trait tests whether or not the given template pa...
Definition: IsBuiltin.h:75
Header file for the IsSigned type trait.
Header file for the IsReference type trait.
Compile time check for constant data types.The IsConst type trait tests whether or not the given temp...
Definition: IsConst.h:75
typename EnableIf< Condition, T >::Type EnableIf_
Auxiliary alias declaration for the EnableIf class template.The EnableIf_ alias declaration provides ...
Definition: EnableIf.h:223
Header file for the All type trait.
Header file for the IsBuiltin type trait.
typename CommonType< T... >::Type CommonType_
Auxiliary alias declaration for the CommonType type trait.The CommonType_ alias declaration provides ...
Definition: CommonType.h:95
Compile time type check.This class tests whether the given template parameter T is a reference type (...
Definition: IsReference.h:75
Header file for the Any type trait.
Header file for the complex data type.
Header file for the MakeSigned type trait.
typename AddTrait< T1, T2 >::Type AddTrait_
Auxiliary alias declaration for the AddTrait class template.The AddTrait_ alias declaration provides ...
Definition: AddTrait.h:245