35 #ifndef _BLAZE_MATH_TRAITS_ADDTRAIT_H_ 36 #define _BLAZE_MATH_TRAITS_ADDTRAIT_H_ 116 template<
typename T1
124 struct AddType {
using Type = decltype( std::declval<T1>() + std::declval<T2>() ); };
130 struct Failure {
using Type = INVALID_TYPE; };
154 template<
typename T >
155 struct AddTrait< T, T, EnableIf_< IsBuiltin<T> > >
171 template<
typename T1,
typename T2 >
172 struct AddTrait< complex<T1>, T2, EnableIf_< IsBuiltin<T2> > >
188 template<
typename T1,
typename T2 >
189 struct AddTrait< T1, complex<T2>, EnableIf_< IsBuiltin<T1> > >
205 template<
typename T1,
typename T2 >
206 struct AddTrait< complex<T1>, complex<T2> >
223 template<
typename T1,
typename T2 >
225 , EnableIf_< And< Or< IsCustom<T1>, IsInitializer<T1>, IsView<T1> >
226 , Not< Or< IsCustom<T2>, IsInitializer<T2>, IsView<T2> > > > > >
243 template<
typename T1,
typename T2 >
245 , EnableIf_< And< Not< Or< IsCustom<T1>, IsInitializer<T1>, IsView<T1> > >
246 , Or< IsCustom<T2>, IsInitializer<T2>, IsView<T2> > > > >
263 template<
typename T1,
typename T2 >
265 , EnableIf_< And< Or< IsCustom<T1>, IsInitializer<T1>, IsView<T1> >
266 , Or< IsCustom<T2>, IsInitializer<T2>, IsView<T2> > > > >
290 template<
typename T1,
typename T2 >
Header file for the IsInitializer type trait.
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 And class template.
Header file for the HasAdd type trait.
Header file for the IsVolatile type trait.
Header file for the Decay type trait.
Header file for the IsCustom type trait.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the If class template.
Header file for the Or class template.
Header file for the Not class template.
Header file for the EnableIf class template.
Header file for the IsView type trait.
Header file for the CommonType type trait.
Header file for the IsConst type trait.
Base template for the AddTrait class.
Definition: AddTrait.h:119
Utility type for generic codes.
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:154
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
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 complex data type.
typename AddTrait< T1, T2 >::Type AddTrait_
Auxiliary alias declaration for the AddTrait class template.The AddTrait_ alias declaration provides ...
Definition: AddTrait.h:291