diff -Naur boost/numeric/ublas/operation.old/begin.hpp boost/numeric/ublas/operation/begin.hpp --- boost/numeric/ublas/operation.old/begin.hpp 2009-09-30 10:07:21.000000000 +0200 +++ boost/numeric/ublas/operation/begin.hpp 2009-09-30 09:59:38.000000000 +0200 @@ -229,7 +229,7 @@ BOOST_UBLAS_INLINE typename ExprT::iterator begin(vector_expression& e) { - return detail::begin_impl::apply(static_cast(e)); + return detail::begin_impl::apply(e()); } @@ -243,7 +243,7 @@ BOOST_UBLAS_INLINE typename ExprT::const_iterator begin(vector_expression const& e) { - return detail::begin_impl::apply(static_cast(e)); + return detail::begin_impl::apply(e()); } @@ -260,7 +260,7 @@ BOOST_UBLAS_INLINE typename iterator_type::type begin(matrix_expression& e) { - return detail::begin_impl::apply(static_cast(e)); + return detail::begin_impl::apply(e()); } @@ -277,7 +277,7 @@ BOOST_UBLAS_INLINE typename const_iterator_type::type begin(matrix_expression const& e) { - return detail::begin_impl::apply(static_cast(e)); + return detail::begin_impl::apply(e()); } diff -Naur boost/numeric/ublas/operation.old/end.hpp boost/numeric/ublas/operation/end.hpp --- boost/numeric/ublas/operation.old/end.hpp 2009-09-30 10:07:21.000000000 +0200 +++ boost/numeric/ublas/operation/end.hpp 2009-09-30 10:07:56.000000000 +0200 @@ -229,7 +229,7 @@ BOOST_UBLAS_INLINE typename ExprT::iterator end(vector_expression& e) { - return detail::end_impl::apply(static_cast(e)); + return detail::end_impl::apply(e()); } @@ -243,7 +243,7 @@ BOOST_UBLAS_INLINE typename ExprT::const_iterator end(vector_expression const& e) { - return detail::end_impl::apply(static_cast(e)); + return detail::end_impl::apply(e()); } @@ -260,7 +260,7 @@ BOOST_UBLAS_INLINE typename iterator_type::type end(matrix_expression& e) { - return detail::end_impl::apply(static_cast(e)); + return detail::end_impl::apply(e()); } @@ -277,7 +277,7 @@ BOOST_UBLAS_INLINE typename const_iterator_type::type end(matrix_expression const& e) { - return detail::end_impl::apply(static_cast(e)); + return detail::end_impl::apply(e()); }