22 #ifndef _BLAZE_MATH_TYPETRAITS_ISMATMATMULTEXPR_H_
23 #define _BLAZE_MATH_TYPETRAITS_ISMATMATMULTEXPR_H_
30 #include <boost/type_traits/remove_cv.hpp>
49 template<
typename T >
50 struct IsMatMatMultExprHelper
64 template<
typename MT1,
typename MT2 >
65 struct IsMatMatMultExprHelper< DMatDMatMultExpr<MT1,MT2> > :
public TrueType
80 template<
typename MT1,
typename MT2 >
81 struct IsMatMatMultExprHelper< DMatTDMatMultExpr<MT1,MT2> > :
public TrueType
96 template<
typename MT1,
typename MT2 >
97 struct IsMatMatMultExprHelper< TDMatDMatMultExpr<MT1,MT2> > :
public TrueType
112 template<
typename MT1,
typename MT2 >
113 struct IsMatMatMultExprHelper< TDMatTDMatMultExpr<MT1,MT2> > :
public TrueType
128 template<
typename MT1,
typename MT2 >
129 struct IsMatMatMultExprHelper< DMatSMatMultExpr<MT1,MT2> > :
public TrueType
144 template<
typename MT1,
typename MT2 >
145 struct IsMatMatMultExprHelper< DMatTSMatMultExpr<MT1,MT2> > :
public TrueType
160 template<
typename MT1,
typename MT2 >
161 struct IsMatMatMultExprHelper< TDMatSMatMultExpr<MT1,MT2> > :
public TrueType
176 template<
typename MT1,
typename MT2 >
177 struct IsMatMatMultExprHelper< TDMatTSMatMultExpr<MT1,MT2> > :
public TrueType
192 template<
typename MT1,
typename MT2 >
193 struct IsMatMatMultExprHelper< SMatDMatMultExpr<MT1,MT2> > :
public TrueType
208 template<
typename MT1,
typename MT2 >
209 struct IsMatMatMultExprHelper< SMatTDMatMultExpr<MT1,MT2> > :
public TrueType
224 template<
typename MT1,
typename MT2 >
225 struct IsMatMatMultExprHelper< TSMatDMatMultExpr<MT1,MT2> > :
public TrueType
240 template<
typename MT1,
typename MT2 >
241 struct IsMatMatMultExprHelper< TSMatTDMatMultExpr<MT1,MT2> > :
public TrueType
256 template<
typename MT1,
typename MT2 >
257 struct IsMatMatMultExprHelper< SMatSMatMultExpr<MT1,MT2> > :
public TrueType
272 template<
typename MT1,
typename MT2 >
273 struct IsMatMatMultExprHelper< SMatTSMatMultExpr<MT1,MT2> > :
public TrueType
288 template<
typename MT1,
typename MT2 >
289 struct IsMatMatMultExprHelper< TSMatSMatMultExpr<MT1,MT2> > :
public TrueType
304 template<
typename MT1,
typename MT2 >
305 struct IsMatMatMultExprHelper< TSMatTSMatMultExpr<MT1,MT2> > :
public TrueType
327 template<
typename T >
328 struct IsMatMatMultExpr :
public IsMatMatMultExprHelper< typename boost::remove_cv<T>::type >::Type
333 enum { value = IsMatMatMultExprHelper< typename boost::remove_cv<T>::type >::value };
334 typedef typename IsMatMatMultExprHelper< typename boost::remove_cv<T>::type >::Type Type;