7 #ifndef MDS_UTILS_UBLAS_TRAITS_HPP_INCLUDED     8 #define MDS_UTILS_UBLAS_TRAITS_HPP_INCLUDED    26 #include <boost/numeric/ublas/matrix.hpp>    27 #include <boost/numeric/ublas/matrix_sparse.hpp>    28 #include <boost/mpl/if.hpp>    29 #include <boost/mpl/and.hpp>    30 #include <boost/mpl/not.hpp>    31 #include <boost/mpl/has_xxx.hpp>    55 BOOST_MPL_HAS_XXX_TRAIT_DEF(storage_category)
    68 BOOST_MPL_HAS_XXX_TRAIT_DEF(index_array_type)
    81 BOOST_MPL_HAS_XXX_TRAIT_DEF(value_array_type)
    84 template<
class T,
class Enable = 
void>
    86 struct is_vector : std::false_type {};
    88 template<
class T,
class Enable = 
void>
    89 struct is_matrix : std::false_type {};
    91 template<
class T,
class Enable = 
void>
    92 struct is_compressed_matrix : std::false_type {};
   114         typename 
std::enable_if<
   117                     boost::numeric::ublas::vector_container<T>,
   120                 has_storage_category<T>,
   122                     typename T::storage_category,
   123                     boost::numeric::ublas::dense_tag
   127     > : std::true_type {};
   148         typename std::enable_if<
   151                     boost::numeric::ublas::matrix_container<T>,
   154                 has_storage_category<T>,
   156                     typename T::storage_category,
   157                     boost::numeric::ublas::dense_tag
   161     > : std::true_type {};
   182 struct is_compressed_matrix<T,
   183         typename std::enable_if<
   186                     boost::numeric::ublas::matrix_container<T>,
   189                 has_storage_category<T>,
   190                 has_index_array_type<T>,
   191                 has_value_array_type<T>,
   193                     typename T::storage_category,
   194                     boost::numeric::ublas::sparse_tag
   198     > : std::true_type {};
   216 template<
class orientation_category>
   222     typedef boost::numeric::ublas::column_major type;
   227     typedef boost::numeric::ublas::row_major    type;
 
Main namespace of all Michele De Stefano's C++ utilities. 
 
Allows the computation of the opposite orientation tag with respect to the one passed as template par...