22 #ifndef _BLAZE_MATH_TYPETRAITS_ISSPARSEMATRIX_H_
23 #define _BLAZE_MATH_TYPETRAITS_ISSPARSEMATRIX_H_
30 #include <boost/type_traits/is_base_of.hpp>
31 #include <boost/type_traits/remove_cv.hpp>
45 template<
typename,
bool >
struct SparseMatrix;
61 template<
typename T >
62 struct IsSparseMatrixHelper
66 typedef typename boost::remove_cv<T>::type T2;
71 enum { value = boost::is_base_of< SparseMatrix<T2,false>, T2 >::value ||
72 boost::is_base_of< SparseMatrix<T2,true> , T2 >::value };
73 typedef typename SelectType<value,TrueType,FalseType>::Type Type;
99 template<
typename T >
105 enum { value = IsSparseMatrixHelper<T>::value };
106 typedef typename IsSparseMatrixHelper<T>::Type Type;