2
0
mirror of https://github.com/boostorg/ublas.git synced 2026-02-24 04:22:12 +00:00

FIX work with const UDTs, CV status is stripped from returned type

svn path=/trunk/boost/boost/numeric/ublas/; revision=25482
This commit is contained in:
Michael Stevens
2004-09-29 18:25:42 +00:00
parent 57576daa67
commit 6485f45e1d

View File

@@ -14,9 +14,7 @@
#include <boost/mpl/at.hpp>
#include <boost/mpl/or.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/type_traits/remove_reference.hpp>
#include <boost/type_traits/remove_cv.hpp>
#include <boost/type_traits/is_const.hpp>
#include <boost/type_traits/is_same.hpp>
#include <boost/utility/enable_if.hpp>
@@ -129,8 +127,7 @@ struct error_cant_deduce_type {};
template <typename X, typename Y>
typename disable_if<
mpl::or_<is_basic<X>, is_const<X> >
, x_value_type
is_basic<X>, x_value_type
>::type
test(X const&);
@@ -139,8 +136,7 @@ struct error_cant_deduce_type {};
mpl::or_<
is_basic<Y>
, is_same<Y, asymmetric>
, is_const<Y>
, is_same<X, Y>
, is_same<const X, const Y>
>
, y_value_type
>::type
@@ -149,8 +145,8 @@ struct error_cant_deduce_type {};
template <typename X, typename Y>
struct base_result_of
{
typedef typename remove_reference<X>::type x_type;
typedef typename remove_reference<Y>::type y_type;
typedef typename remove_cv<X>::type x_type;
typedef typename remove_cv<Y>::type y_type;
typedef mpl::vector16<
mpl::identity<bool>