22 #ifndef _BLAZE_MATH_EXPRESSIONS_DMATDMATSUBEXPR_H_
23 #define _BLAZE_MATH_EXPRESSIONS_DMATDMATSUBEXPR_H_
66 template<
typename MT1
75 typedef typename MT1::ResultType
RT1;
76 typedef typename MT2::ResultType
RT2;
77 typedef typename MT1::ReturnType
RN1;
78 typedef typename MT2::ReturnType
RN2;
79 typedef typename MT1::CompositeType
CT1;
80 typedef typename MT2::CompositeType
CT2;
81 typedef typename MT1::ElementType
ET1;
82 typedef typename MT2::ElementType
ET2;
110 template<
typename VT >
112 enum { value = useAssign };
141 enum { vectorizable = MT1::vectorizable && MT2::vectorizable &&
213 return lhs_.columns();
243 template<
typename T >
270 template<
typename MT
303 template<
typename MT
320 const TmpType tmp( rhs );
340 template<
typename MT
342 friend inline typename EnableIf< UseAssign<MT> >::Type
372 template<
typename MT
374 friend inline typename EnableIf< UseAssign<MT> >::Type
441 template<
typename T1
444 inline const DMatDMatSubExpr<T1,T2,SO>
448 throw std::invalid_argument(
"Matrix sizes do not match" );