diff --git a/include/boost/numeric/ublas/banded.hpp b/include/boost/numeric/ublas/banded.hpp index 8cbd503a..5487e211 100644 --- a/include/boost/numeric/ublas/banded.hpp +++ b/include/boost/numeric/ublas/banded.hpp @@ -166,10 +166,8 @@ namespace boost { namespace numeric { namespace ublas { #endif #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); - return const_cast(zero_); // Never reached -#else - return zero_; #endif + return const_cast(zero_); } // Assignment @@ -1065,18 +1063,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -1091,11 +1089,11 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::iterator2 iterator2_type; #else typedef typename M::const_iterator1 const_iterator1_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator1, typename M::iterator1>::type iterator1_type; typedef typename M::const_iterator2 const_iterator2_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator2, typename M::iterator2>::type iterator2_type; #endif @@ -1184,7 +1182,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif - return zero_; + return const_cast(zero_); } #else BOOST_UBLAS_INLINE @@ -1207,7 +1205,7 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif - return zero_; + return const_cast(zero_); } #endif diff --git a/include/boost/numeric/ublas/functional.hpp b/include/boost/numeric/ublas/functional.hpp index 17fc8859..0c828946 100644 --- a/include/boost/numeric/ublas/functional.hpp +++ b/include/boost/numeric/ublas/functional.hpp @@ -703,9 +703,9 @@ namespace boost { namespace numeric { namespace ublas { result_type operator () (const vector_expression &e1, const vector_expression &e2) const { #ifdef BOOST_UBLAS_USE_SIMD - typedef typename boost::mpl::if_c< + typedef typename boost::mpl::if_< boost::mpl::and_, - boost::is_same >::value, + boost::is_same >, concrete_tag, abstract_tag>::type simd_category; #else @@ -862,9 +862,9 @@ namespace boost { namespace numeric { namespace ublas { const vector_expression &e2, size_type i) const { #ifdef BOOST_UBLAS_USE_SIMD - typedef typename boost::mpl::if_c< + typedef typename boost::mpl::if_< boost::mpl::and_, - boost::is_same >::value, + boost::is_same >, concrete_tag, abstract_tag>::type simd_category; #else @@ -1044,9 +1044,9 @@ namespace boost { namespace numeric { namespace ublas { const matrix_expression &e2, size_type i) const { #ifdef BOOST_UBLAS_USE_SIMD - typedef typename boost::mpl::if_c< + typedef typename boost::mpl::if_< boost::mpl::and_, - boost::is_same >::value, + boost::is_same >, concrete_tag, abstract_tag>::type simd_category; #else @@ -1235,9 +1235,9 @@ namespace boost { namespace numeric { namespace ublas { const matrix_expression &e2, size_type i, size_type j) const { #ifdef BOOST_UBLAS_USE_SIMD - typedef typename boost::mpl::if_c< + typedef typename boost::mpl::if_< boost::mpl::and_, - boost::is_same >::value, + boost::is_same >, concrete_tag, abstract_tag>::type simd_category; #else diff --git a/include/boost/numeric/ublas/hermitian.hpp b/include/boost/numeric/ublas/hermitian.hpp index fc90a8e7..23eb9e8f 100644 --- a/include/boost/numeric/ublas/hermitian.hpp +++ b/include/boost/numeric/ublas/hermitian.hpp @@ -1253,28 +1253,28 @@ namespace boost { namespace numeric { namespace ublas { #else // FIXME: no better way to not return the address of a temporary? // typedef typename M::const_reference const_reference; - // typedef typename boost::mpl::if_c::value, + // typedef typename boost::mpl::if_, // typename M::const_reference, // typename M::reference>::type reference; typedef typename M::value_type const_reference; #ifndef BOOST_UBLAS_STRICT_HERMITIAN - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::value_type, typename M::reference>::type reference; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::value_type, hermitian_matrix_element > >::type reference; #endif typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -1289,11 +1289,11 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::iterator2 iterator2_type; #else typedef typename M::const_iterator1 const_iterator1_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator1, typename M::iterator1>::type iterator1_type; typedef typename M::const_iterator2 const_iterator2_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator2, typename M::iterator2>::type iterator2_type; #endif diff --git a/include/boost/numeric/ublas/matrix_assign.hpp b/include/boost/numeric/ublas/matrix_assign.hpp index 7dcc932a..141c4721 100644 --- a/include/boost/numeric/ublas/matrix_assign.hpp +++ b/include/boost/numeric/ublas/matrix_assign.hpp @@ -1257,7 +1257,7 @@ namespace boost { namespace numeric { namespace ublas { BOOST_UBLAS_TYPENAME E::const_iterator1::iterator_category, BOOST_UBLAS_TYPENAME E::const_iterator2::iterator_category>::storage_category storage_category; // give preference to expressions orientation if known - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, BOOST_UBLAS_TYPENAME M::orientation_category , BOOST_UBLAS_TYPENAME E::orientation_category >::type orientation_category; matrix_assign (functor_type (), full (), m, e, storage_category (), orientation_category ()); @@ -1272,7 +1272,7 @@ namespace boost { namespace numeric { namespace ublas { BOOST_UBLAS_TYPENAME E::const_iterator1::iterator_category, BOOST_UBLAS_TYPENAME E::const_iterator2::iterator_category>::storage_category storage_category; // give preference to expressions orientation if known - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, BOOST_UBLAS_TYPENAME M::orientation_category , BOOST_UBLAS_TYPENAME E::orientation_category >::type orientation_category; matrix_assign (functor1_type (), functor2_type (), m, e, storage_category (), orientation_category ()); diff --git a/include/boost/numeric/ublas/matrix_expression.hpp b/include/boost/numeric/ublas/matrix_expression.hpp index 7de55019..0240dafb 100644 --- a/include/boost/numeric/ublas/matrix_expression.hpp +++ b/include/boost/numeric/ublas/matrix_expression.hpp @@ -355,11 +355,11 @@ namespace boost { namespace numeric { namespace ublas { typedef typename E::pointer pointer; #else typedef typename E::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_reference, typename E::reference>::type reference; typedef typename E::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_pointer, typename E::pointer>::type pointer; #endif @@ -487,11 +487,11 @@ namespace boost { namespace numeric { namespace ublas { typedef typename E::iterator2 iterator2; #else typedef typename E::const_iterator1 const_iterator1; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_iterator1, typename E::iterator1>::type iterator1; typedef typename E::const_iterator2 const_iterator2; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_iterator2, typename E::iterator2>::type iterator2; #endif @@ -1614,19 +1614,19 @@ namespace boost { namespace numeric { namespace ublas { typedef typename E::difference_type difference_type; typedef typename F::result_type value_type; typedef value_type const_reference; - typedef typename boost::mpl::if_c >::value, + typedef typename boost::mpl::if_ >, typename E::reference, value_type>::type reference; typedef const value_type *const_pointer; typedef const_pointer pointer; private: - typedef typename boost::mpl::if_c >::value, + typedef typename boost::mpl::if_ >, E, const E>::type expression_type; typedef F functor_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_closure_type, typename E::closure_type>::type expression_closure_type; typedef const matrix_unary2 const_self_type; @@ -1635,11 +1635,11 @@ namespace boost { namespace numeric { namespace ublas { typedef const_self_type const_closure_type; typedef self_type closure_type; // typedef typename E::orientation_category orientation_category; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, column_major_tag, - typename boost::mpl::if_c::value, + typename boost::mpl::if_, row_major_tag, typename E::orientation_category>::type>::type orientation_category; // typedef unknown_storage_tag storage_category; diff --git a/include/boost/numeric/ublas/matrix_proxy.hpp b/include/boost/numeric/ublas/matrix_proxy.hpp index 132b2be6..54ab5936 100644 --- a/include/boost/numeric/ublas/matrix_proxy.hpp +++ b/include/boost/numeric/ublas/matrix_proxy.hpp @@ -45,18 +45,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -229,7 +229,7 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::iterator2 iterator_type; #else typedef typename M::const_iterator2 const_iterator_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator2, typename M::iterator2>::type iterator_type; #endif @@ -554,18 +554,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -738,7 +738,7 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::iterator1 iterator_type; #else typedef typename M::const_iterator1 const_iterator_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator1, typename M::iterator1>::type iterator_type; #endif @@ -1065,18 +1065,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -1562,18 +1562,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -2070,18 +2070,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -2575,18 +2575,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -2767,11 +2767,11 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::iterator2 iterator2_type; #else typedef typename M::const_iterator1 const_iterator1_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator1, typename M::iterator1>::type iterator1_type; typedef typename M::const_iterator2 const_iterator2_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator2, typename M::iterator2>::type iterator2_type; #endif @@ -3499,18 +3499,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -4450,18 +4450,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif diff --git a/include/boost/numeric/ublas/symmetric.hpp b/include/boost/numeric/ublas/symmetric.hpp index 731b575a..6512e18d 100644 --- a/include/boost/numeric/ublas/symmetric.hpp +++ b/include/boost/numeric/ublas/symmetric.hpp @@ -969,18 +969,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -995,11 +995,11 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::iterator2 iterator2_type; #else typedef typename M::const_iterator1 const_iterator1_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator1, typename M::iterator1>::type iterator1_type; typedef typename M::const_iterator2 const_iterator2_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator2, typename M::iterator2>::type iterator2_type; #endif diff --git a/include/boost/numeric/ublas/triangular.hpp b/include/boost/numeric/ublas/triangular.hpp index 40ee6386..ea642f57 100644 --- a/include/boost/numeric/ublas/triangular.hpp +++ b/include/boost/numeric/ublas/triangular.hpp @@ -132,12 +132,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif - return one_; + return const_cast(one_); } else { #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif - return zero_; + return const_cast(zero_); } } @@ -929,14 +929,14 @@ namespace boost { namespace numeric { namespace ublas { size_type size1_; size_type size2_; array_type data_; - static value_type zero_; - static value_type one_; + static const value_type zero_; + static const value_type one_; }; template - typename triangular_matrix::value_type triangular_matrix::zero_ (0); + const typename triangular_matrix::value_type triangular_matrix::zero_ (0); template - typename triangular_matrix::value_type triangular_matrix::one_ (1); + const typename triangular_matrix::value_type triangular_matrix::one_ (1); // Triangular matrix adaptor class template @@ -959,18 +959,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::pointer pointer; #else typedef typename M::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_reference, typename M::reference>::type reference; typedef typename M::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_pointer, typename M::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename M::closure_type matrix_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_closure_type, typename M::closure_type>::type matrix_closure_type; #endif @@ -985,11 +985,11 @@ namespace boost { namespace numeric { namespace ublas { typedef typename M::iterator2 iterator2_type; #else typedef typename M::const_iterator1 const_iterator1_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator1, typename M::iterator1>::type iterator1_type; typedef typename M::const_iterator2 const_iterator2_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename M::const_iterator2, typename M::iterator2>::type iterator2_type; #endif @@ -1053,12 +1053,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif - return one_; + return const_cast(one_); } else { #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif - return zero_; + return const_cast(zero_); } } #else @@ -1072,12 +1072,12 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif - return one_; + return const_cast(one_); } else { #ifndef BOOST_UBLAS_REFERENCE_CONST_MEMBER bad_index ().raise (); #endif - return zero_; + return const_cast(zero_); } } #endif @@ -1837,16 +1837,16 @@ namespace boost { namespace numeric { namespace ublas { private: matrix_closure_type data_; static const_matrix_type nil_; - static value_type zero_; - static value_type one_; + static const value_type zero_; + static const value_type one_; }; template typename triangular_adaptor::const_matrix_type triangular_adaptor::nil_; template - typename triangular_adaptor::value_type triangular_adaptor::zero_ (0); + const typename triangular_adaptor::value_type triangular_adaptor::zero_ (0); template - typename triangular_adaptor::value_type triangular_adaptor::one_ (1); + const typename triangular_adaptor::value_type triangular_adaptor::one_ (1); template struct matrix_vector_solve_traits { diff --git a/include/boost/numeric/ublas/vector_expression.hpp b/include/boost/numeric/ublas/vector_expression.hpp index bed97652..5a9c484c 100644 --- a/include/boost/numeric/ublas/vector_expression.hpp +++ b/include/boost/numeric/ublas/vector_expression.hpp @@ -326,11 +326,11 @@ namespace boost { namespace numeric { namespace ublas { typedef typename E::pointer pointer; #else typedef typename E::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_reference, typename E::reference>::type reference; typedef typename E::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_pointer, typename E::pointer>::type pointer; #endif @@ -465,7 +465,7 @@ namespace boost { namespace numeric { namespace ublas { typedef typename E::iterator iterator; #else typedef typename E::const_iterator const_iterator; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_iterator, typename E::iterator>::type iterator; #endif @@ -547,23 +547,23 @@ namespace boost { namespace numeric { namespace ublas { #ifndef BOOST_UBLAS_NO_PROXY_SHORTCUTS BOOST_UBLAS_USING vector_expression >::operator (); #endif - typedef typename boost::mpl::if_c >::value, + typedef typename boost::mpl::if_ >, E, const E>::type expression_type; typedef typename E::size_type size_type; typedef typename E::difference_type difference_type; typedef typename F::result_type value_type; typedef value_type const_reference; - typedef typename boost::mpl::if_c >::value, + typedef typename boost::mpl::if_ >, typename E::reference, value_type>::type reference; typedef const value_type *const_pointer; typedef const_pointer pointer; private: typedef F functor_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename E::const_closure_type, typename E::closure_type>::type expression_closure_type; typedef const vector_unary const_self_type; diff --git a/include/boost/numeric/ublas/vector_proxy.hpp b/include/boost/numeric/ublas/vector_proxy.hpp index ff389b4e..a5fdbd0f 100644 --- a/include/boost/numeric/ublas/vector_proxy.hpp +++ b/include/boost/numeric/ublas/vector_proxy.hpp @@ -45,18 +45,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename V::pointer pointer; #else typedef typename V::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_reference, typename V::reference>::type reference; typedef typename V::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_pointer, typename V::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename V::closure_type vector_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_closure_type, typename V::closure_type>::type vector_closure_type; #endif @@ -241,7 +241,7 @@ namespace boost { namespace numeric { namespace ublas { typedef typename V::iterator iterator_type; #else typedef typename V::const_iterator const_iterator_type; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_iterator, typename V::iterator>::type iterator_type; #endif @@ -577,18 +577,18 @@ namespace boost { namespace numeric { namespace ublas { typedef typename V::pointer pointer; #else typedef typename V::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_reference, typename V::reference>::type reference; typedef typename V::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_pointer, typename V::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename V::closure_type vector_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_closure_type, typename V::closure_type>::type vector_closure_type; #endif @@ -1125,18 +1125,18 @@ return true; typedef typename V::pointer pointer; #else typedef typename V::const_reference const_reference; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_reference, typename V::reference>::type reference; typedef typename V::const_pointer const_pointer; - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_pointer, typename V::pointer>::type pointer; #endif #ifndef BOOST_UBLAS_CT_PROXY_CLOSURE_TYPEDEFS typedef typename V::closure_type vector_closure_type; #else - typedef typename boost::mpl::if_c::value, + typedef typename boost::mpl::if_, typename V::const_closure_type, typename V::closure_type>::type vector_closure_type; #endif