35 #ifndef _BLAZE_MATH_TRAITS_SUBTRAIT_H_ 36 #define _BLAZE_MATH_TRAITS_SUBTRAIT_H_ 116 template<
typename T1
124 struct SubType {
using Type = decltype( std::declval<T1>() - std::declval<T2>() ); };
130 struct Failure {
using Type = INVALID_TYPE; };
154 template<
typename T >
155 struct SubTrait< T, T, EnableIf_< IsBuiltin<T> > >
171 template<
typename T1,
typename T2 >
172 struct SubTrait< complex<T1>, T2, EnableIf_< IsBuiltin<T2> > >
188 template<
typename T1,
typename T2 >
189 struct SubTrait< T1, complex<T2>, EnableIf_< IsBuiltin<T1> > >
205 template<
typename T1,
typename T2 >
206 struct SubTrait< 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 IsVolatile type trait.
Header file for the HasSub 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.
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 SubTrait< T1, T2 >::Type SubTrait_
Auxiliary alias declaration for the SubTrait class template.The SubTrait_ alias declaration provides ...
Definition: SubTrait.h:291
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.
Base template for the SubTrait class.
Definition: SubTrait.h:119