22 #ifndef _BLAZE_MATH_TYPETRAITS_ISMATMATSUBEXPR_H_
23 #define _BLAZE_MATH_TYPETRAITS_ISMATMATSUBEXPR_H_
30 #include <boost/type_traits/remove_cv.hpp>
49 template<
typename T >
50 struct IsMatMatSubExprHelper
64 template<
typename MT1,
typename MT2,
bool SO >
65 struct IsMatMatSubExprHelper< DMatDMatSubExpr<MT1,MT2,SO> > :
public TrueType
80 template<
typename MT1,
typename MT2,
bool SO >
81 struct IsMatMatSubExprHelper< DMatSMatSubExpr<MT1,MT2,SO> > :
public TrueType
96 template<
typename MT1,
typename MT2 >
97 struct IsMatMatSubExprHelper< DMatTDMatSubExpr<MT1,MT2> > :
public TrueType
112 template<
typename MT1,
typename MT2 >
113 struct IsMatMatSubExprHelper< DMatTSMatSubExpr<MT1,MT2> > :
public TrueType
128 template<
typename MT1,
typename MT2,
bool SO >
144 template<
typename MT1,
typename MT2 >
160 template<
typename MT1,
typename MT2 >
176 template<
typename MT1,
typename MT2 >
192 template<
typename MT1,
typename MT2 >
208 template<
typename MT1,
typename MT2 >
224 template<
typename MT1,
typename MT2 >
240 template<
typename MT1,
typename MT2 >
263 template<
typename T >
264 struct IsMatMatSubExpr :
public IsMatMatSubExprHelper< typename boost::remove_cv<T>::type >::Type
269 enum { value = IsMatMatSubExprHelper< typename boost::remove_cv<T>::type >::value };
270 typedef typename IsMatMatSubExprHelper< typename boost::remove_cv<T>::type >::Type Type;