35 #ifndef _BLAZE_MATH_TRAITS_MULTTRAIT_H_ 36 #define _BLAZE_MATH_TRAITS_MULTTRAIT_H_ 116 template<
typename T1
124 struct MultType {
using Type = decltype( std::declval<T1>() * std::declval<T2>() ); };
130 struct Failure {
using Type = INVALID_TYPE; };
154 template<
typename T >
155 struct MultTrait< T, T, EnableIf_< IsBuiltin<T> > >
171 template<
typename T1,
typename T2 >
172 struct MultTrait< complex<T1>, T2, EnableIf_< IsBuiltin<T2> > >
188 template<
typename T1,
typename T2 >
189 struct MultTrait< T1, complex<T2>, EnableIf_< IsBuiltin<T1> > >
205 template<
typename T1,
typename T2 >
206 struct MultTrait< 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.
typename MultTrait< T1, T2 >::Type MultTrait_
Auxiliary alias declaration for the MultTrait class template.The MultTrait_ alias declaration provide...
Definition: MultTrait.h:291
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 HasMult type trait.
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.
Base template for the MultTrait class.
Definition: MultTrait.h:119
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.