Hi,
I've noticed there are two free functions row() and column() overloaded on the const-ness of the matrix, but there is no shortcut to force creating a row or column proxy on a const matrix from a non-const matrix.
I'd like to propose adding two more free functions ublas::crow() and ublas::ccolumn(), following the style of boost::cref() (wrt boost::ref) or the C++0x cbegin() and co. Better names are a possibility, maybe const_row() and const_column()?
I can even suggest some code, hopefully correct:
template<class M>
BOOST_UBLAS_INLINE
const matrix_row<const M> crow (M &data, typename M::size_type i) {
return matrix_row<const M> (data, i);
}
template<class M>
BOOST_UBLAS_INLINE
const matrix_column<const M> ccolumn (M &data, typename M::size_type j) {
return matrix_column<const M> (data, j);
}
Do you think this is worth having in Boost.Ublas?