diff --git a/include/boost/numeric/ublas/matrix_proxy.hpp b/include/boost/numeric/ublas/matrix_proxy.hpp index 54ab5936..b2cdc454 100644 --- a/include/boost/numeric/ublas/matrix_proxy.hpp +++ b/include/boost/numeric/ublas/matrix_proxy.hpp @@ -133,32 +133,32 @@ namespace boost { namespace numeric { namespace ublas { matrix_row &operator = (const matrix_row &mr) { // FIXME: the rows could be differently sized. // std::copy (mr.begin (), mr.end (), begin ()); - vector_assign (scalar_assign (), *this, vector (mr)); + vector_assign (scalar_assign (), *this, vector (mr)); return *this; } BOOST_UBLAS_INLINE matrix_row &assign_temporary (matrix_row &mr) { // FIXME: this is suboptimal. // return *this = mr; - vector_assign (scalar_assign (), *this, mr); + vector_assign (scalar_assign (), *this, mr); return *this; } template BOOST_UBLAS_INLINE matrix_row &operator = (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (ae)); + vector_assign (scalar_assign (), *this, vector (ae)); return *this; } template BOOST_UBLAS_INLINE matrix_row &assign (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, ae); + vector_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE matrix_row &operator += (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this + ae)); + vector_assign (scalar_assign (), *this, vector (*this + ae)); return *this; } template @@ -170,7 +170,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_row &operator -= (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this - ae)); + vector_assign (scalar_assign (), *this, vector (*this - ae)); return *this; } template @@ -509,11 +509,11 @@ namespace boost { namespace numeric { namespace ublas { private: matrix_closure_type data_; size_type i_; - static const_matrix_type nil_; + static matrix_type nil_; }; template - typename matrix_row::const_matrix_type matrix_row::nil_; + typename matrix_row::matrix_type matrix_row::nil_; // Projections template @@ -642,32 +642,32 @@ namespace boost { namespace numeric { namespace ublas { matrix_column &operator = (const matrix_column &mc) { // FIXME: the columns could be differently sized. // std::copy (mc.begin (), mc.end (), begin ()); - vector_assign (scalar_assign (), *this, vector (mc)); + vector_assign (scalar_assign (), *this, vector (mc)); return *this; } BOOST_UBLAS_INLINE matrix_column &assign_temporary (matrix_column &mc) { // FIXME: this is suboptimal. // return *this = mc; - vector_assign (scalar_assign (), *this, mc); + vector_assign (scalar_assign (), *this, mc); return *this; } template BOOST_UBLAS_INLINE matrix_column &operator = (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (ae)); + vector_assign (scalar_assign (), *this, vector (ae)); return *this; } template BOOST_UBLAS_INLINE matrix_column &assign (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, ae); + vector_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE matrix_column &operator += (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this + ae)); + vector_assign (scalar_assign (), *this, vector (*this + ae)); return *this; } template @@ -679,7 +679,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_column &operator -= (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this - ae)); + vector_assign (scalar_assign (), *this, vector (*this - ae)); return *this; } template @@ -1020,11 +1020,11 @@ namespace boost { namespace numeric { namespace ublas { private: matrix_closure_type data_; size_type j_; - static const_matrix_type nil_; + static matrix_type nil_; }; template - typename matrix_column::const_matrix_type matrix_column::nil_; + typename matrix_column::matrix_type matrix_column::nil_; // Projections template @@ -1161,32 +1161,32 @@ namespace boost { namespace numeric { namespace ublas { matrix_vector_range &operator = (const matrix_vector_range &mvr) { // FIXME: the ranges could be differently sized. // std::copy (mvr.begin (), mvr.end (), begin ()); - vector_assign (scalar_assign (), *this, vector (mvr)); + vector_assign (scalar_assign (), *this, vector (mvr)); return *this; } BOOST_UBLAS_INLINE matrix_vector_range &assign_temporary (matrix_vector_range &mvr) { // FIXME: this is suboptimal. // return *this = mvr; - vector_assign (scalar_assign (), *this, mvr); + vector_assign (scalar_assign (), *this, mvr); return *this; } template BOOST_UBLAS_INLINE matrix_vector_range &operator = (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (ae)); + vector_assign (scalar_assign (), *this, vector (ae)); return *this; } template BOOST_UBLAS_INLINE matrix_vector_range &assign (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, ae); + vector_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE matrix_vector_range &operator += (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this + ae)); + vector_assign (scalar_assign (), *this, vector (*this + ae)); return *this; } template @@ -1198,7 +1198,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_vector_range &operator -= (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this - ae)); + vector_assign (scalar_assign (), *this, vector (*this - ae)); return *this; } template @@ -1536,11 +1536,11 @@ namespace boost { namespace numeric { namespace ublas { matrix_closure_type data_; range r1_; range r2_; - static const_matrix_type nil_; + static matrix_type nil_; }; template - typename matrix_vector_range::const_matrix_type matrix_vector_range::nil_; + typename matrix_vector_range::matrix_type matrix_vector_range::nil_; // Matrix based vector slice class template @@ -1665,32 +1665,32 @@ namespace boost { namespace numeric { namespace ublas { matrix_vector_slice &operator = (const matrix_vector_slice &mvs) { // FIXME: the slices could be differently sized. // std::copy (mvs.begin (), mvs.end (), begin ()); - vector_assign (scalar_assign (), *this, vector (mvs)); + vector_assign (scalar_assign (), *this, vector (mvs)); return *this; } BOOST_UBLAS_INLINE matrix_vector_slice &assign_temporary (matrix_vector_slice &mvs) { // FIXME: this is suboptimal. // return *this = mvs; - vector_assign (scalar_assign (), *this, mvs); + vector_assign (scalar_assign (), *this, mvs); return *this; } template BOOST_UBLAS_INLINE matrix_vector_slice &operator = (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (ae)); + vector_assign (scalar_assign (), *this, vector (ae)); return *this; } template BOOST_UBLAS_INLINE matrix_vector_slice &assign (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, ae); + vector_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE matrix_vector_slice &operator += (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this + ae)); + vector_assign (scalar_assign (), *this, vector (*this + ae)); return *this; } template @@ -1702,7 +1702,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_vector_slice &operator -= (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this - ae)); + vector_assign (scalar_assign (), *this, vector (*this - ae)); return *this; } template @@ -2042,11 +2042,11 @@ namespace boost { namespace numeric { namespace ublas { matrix_closure_type data_; slice s1_; slice s2_; - static const_matrix_type nil_; + static matrix_type nil_; }; template - typename matrix_vector_slice::const_matrix_type matrix_vector_slice::nil_; + typename matrix_vector_slice::matrix_type matrix_vector_slice::nil_; // Matrix based vector indirection class template @@ -2172,32 +2172,32 @@ namespace boost { namespace numeric { namespace ublas { matrix_vector_indirect &operator = (const matrix_vector_indirect &mvi) { // FIXME: the indirects could be differently sized. // std::copy (mvi.begin (), mvi.end (), begin ()); - vector_assign (scalar_assign (), *this, vector (mvi)); + vector_assign (scalar_assign (), *this, vector (mvi)); return *this; } BOOST_UBLAS_INLINE matrix_vector_indirect &assign_temporary (matrix_vector_indirect &mvi) { // FIXME: this is suboptimal. // return *this = mvi; - vector_assign (scalar_assign (), *this, mvi); + vector_assign (scalar_assign (), *this, mvi); return *this; } template BOOST_UBLAS_INLINE matrix_vector_indirect &operator = (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (ae)); + vector_assign (scalar_assign (), *this, vector (ae)); return *this; } template BOOST_UBLAS_INLINE matrix_vector_indirect &assign (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, ae); + vector_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE matrix_vector_indirect &operator += (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this + ae)); + vector_assign (scalar_assign (), *this, vector (*this + ae)); return *this; } template @@ -2209,7 +2209,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_vector_indirect &operator -= (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this - ae)); + vector_assign (scalar_assign (), *this, vector (*this - ae)); return *this; } template @@ -2549,11 +2549,11 @@ namespace boost { namespace numeric { namespace ublas { matrix_closure_type data_; indirect_array_type ia1_; indirect_array_type ia2_; - static const_matrix_type nil_; + static matrix_type nil_; }; template - typename matrix_vector_indirect::const_matrix_type matrix_vector_indirect::nil_; + typename matrix_vector_indirect::matrix_type matrix_vector_indirect::nil_; // Matrix based range class template @@ -2673,7 +2673,7 @@ namespace boost { namespace numeric { namespace ublas { // Assignment BOOST_UBLAS_INLINE matrix_range &operator = (const matrix_range &mr) { - matrix_assign (scalar_assign (), *this, mr); + matrix_assign (scalar_assign (), *this, mr); return *this; } BOOST_UBLAS_INLINE @@ -2683,19 +2683,19 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_range &operator = (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (ae)); + matrix_assign (scalar_assign (), *this, matrix_type (ae)); return *this; } template BOOST_UBLAS_INLINE matrix_range &assign (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, ae); + matrix_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE matrix_range& operator += (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (*this + ae)); + matrix_assign (scalar_assign (), *this, matrix_type (*this + ae)); return *this; } template @@ -2707,7 +2707,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_range& operator -= (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (*this - ae)); + matrix_assign (scalar_assign (), *this, matrix_type (*this - ae)); return *this; } template @@ -3444,11 +3444,11 @@ namespace boost { namespace numeric { namespace ublas { matrix_closure_type data_; range r1_; range r2_; - static const_matrix_type nil_; + static matrix_type nil_; }; template - typename matrix_range::const_matrix_type matrix_range::nil_; + typename matrix_range::matrix_type matrix_range::nil_; // Projections template @@ -3609,7 +3609,7 @@ namespace boost { namespace numeric { namespace ublas { // Assignment BOOST_UBLAS_INLINE matrix_slice &operator = (const matrix_slice &ms) { - matrix_assign (scalar_assign (), *this, ms); + matrix_assign (scalar_assign (), *this, ms); return *this; } BOOST_UBLAS_INLINE @@ -3619,19 +3619,19 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_slice &operator = (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (ae)); + matrix_assign (scalar_assign (), *this, matrix_type (ae)); return *this; } template BOOST_UBLAS_INLINE matrix_slice &assign (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, ae); + matrix_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE matrix_slice& operator += (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (*this + ae)); + matrix_assign (scalar_assign (), *this, matrix_type (*this + ae)); return *this; } template @@ -3643,7 +3643,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_slice& operator -= (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (*this - ae)); + matrix_assign (scalar_assign (), *this, matrix_type (*this - ae)); return *this; } template @@ -4379,11 +4379,11 @@ namespace boost { namespace numeric { namespace ublas { matrix_closure_type data_; slice s1_; slice s2_; - static const_matrix_type nil_; + static matrix_type nil_; }; template - typename matrix_slice::const_matrix_type matrix_slice::nil_; + typename matrix_slice::matrix_type matrix_slice::nil_; // Projections #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING @@ -4554,7 +4554,7 @@ namespace boost { namespace numeric { namespace ublas { // Assignment BOOST_UBLAS_INLINE matrix_indirect &operator = (const matrix_indirect &mi) { - matrix_assign (scalar_assign (), *this, mi); + matrix_assign (scalar_assign (), *this, mi); return *this; } BOOST_UBLAS_INLINE @@ -4564,19 +4564,19 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_indirect &operator = (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (ae)); + matrix_assign (scalar_assign (), *this, matrix_type (ae)); return *this; } template BOOST_UBLAS_INLINE matrix_indirect &assign (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, ae); + matrix_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE matrix_indirect& operator += (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (*this + ae)); + matrix_assign (scalar_assign (), *this, matrix_type (*this + ae)); return *this; } template @@ -4588,7 +4588,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE matrix_indirect& operator -= (const matrix_expression &ae) { - matrix_assign (scalar_assign (), *this, matrix (*this - ae)); + matrix_assign (scalar_assign (), *this, matrix_type (*this - ae)); return *this; } template @@ -5323,11 +5323,11 @@ namespace boost { namespace numeric { namespace ublas { matrix_closure_type data_; indirect_array_type ia1_; indirect_array_type ia2_; - static const_matrix_type nil_; + static matrix_type nil_; }; template - typename matrix_indirect::const_matrix_type matrix_indirect::nil_; + typename matrix_indirect::matrix_type matrix_indirect::nil_; // Projections #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING diff --git a/include/boost/numeric/ublas/vector_proxy.hpp b/include/boost/numeric/ublas/vector_proxy.hpp index 6d51a261..b49e6e5f 100644 --- a/include/boost/numeric/ublas/vector_proxy.hpp +++ b/include/boost/numeric/ublas/vector_proxy.hpp @@ -139,7 +139,7 @@ namespace boost { namespace numeric { namespace ublas { vector_range &operator = (const vector_range &vr) { // FIXME: the ranges could be differently sized. // std::copy (vr.begin (), vr.end (), begin ()); - vector_assign (scalar_assign (), *this, vector (vr)); + vector_assign (scalar_assign (), *this, vector_type (vr)); return *this; } BOOST_UBLAS_INLINE @@ -152,37 +152,37 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE vector_range &operator = (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (ae)); + vector_assign (scalar_assign (), *this, vector_type (ae)); return *this; } template BOOST_UBLAS_INLINE vector_range &assign (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, ae); + vector_assign (scalar_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE vector_range &operator += (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this + ae)); + vector_assign (scalar_assign (), *this, vector_type (*this + ae)); return *this; } template BOOST_UBLAS_INLINE vector_range &plus_assign (const vector_expression &ae) { - vector_assign (scalar_plus_assign (), *this, ae); + vector_assign (scalar_plus_assign (), *this, ae); return *this; } template BOOST_UBLAS_INLINE vector_range &operator -= (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this - ae)); + vector_assign (scalar_assign (), *this, vector_type (*this - ae)); return *this; } template BOOST_UBLAS_INLINE vector_range &minus_assign (const vector_expression &ae) { - vector_assign (scalar_minus_assign (), *this, ae); + vector_assign (scalar_minus_assign (), *this, ae); return *this; } template @@ -515,11 +515,11 @@ namespace boost { namespace numeric { namespace ublas { private: vector_closure_type data_; range r_; - static const_vector_type nil_; + static vector_type nil_; }; template - typename vector_range::const_vector_type vector_range::nil_; + typename vector_range::vector_type vector_range::nil_; // Projections template @@ -673,7 +673,7 @@ namespace boost { namespace numeric { namespace ublas { vector_slice &operator = (const vector_slice &vs) { // FIXME: the slices could be differently sized. // std::copy (vs.begin (), vs.end (), begin ()); - vector_assign (scalar_assign (), *this, vector (vs)); + vector_assign (scalar_assign (), *this, vector_type (vs)); return *this; } BOOST_UBLAS_INLINE @@ -686,7 +686,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE vector_slice &operator = (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (ae)); + vector_assign (scalar_assign (), *this, vector_type (ae)); return *this; } template @@ -698,7 +698,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE vector_slice &operator += (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this + ae)); + vector_assign (scalar_assign (), *this, vector_type (*this + ae)); return *this; } template @@ -710,7 +710,7 @@ namespace boost { namespace numeric { namespace ublas { template BOOST_UBLAS_INLINE vector_slice &operator -= (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this - ae)); + vector_assign (scalar_assign (), *this, vector_type (*this - ae)); return *this; } template @@ -1042,11 +1042,11 @@ return true; #endif vector_closure_type data_; slice s_; - static const_vector_type nil_; + static vector_type nil_; }; template - typename vector_slice::const_vector_type vector_slice::nil_; + typename vector_slice::vector_type vector_slice::nil_; // Projections #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING @@ -1214,7 +1214,7 @@ return true; vector_indirect &operator = (const vector_indirect &vi) { // FIXME: the indirect_arrays could be differently sized. // std::copy (vi.begin (), vi.end (), begin ()); - vector_assign (scalar_assign (), *this, vector (vi)); + vector_assign (scalar_assign (), *this, vector_type (vi)); return *this; } BOOST_UBLAS_INLINE @@ -1227,7 +1227,7 @@ return true; template BOOST_UBLAS_INLINE vector_indirect &operator = (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (ae)); + vector_assign (scalar_assign (), *this, vector_type (ae)); return *this; } template @@ -1239,7 +1239,7 @@ return true; template BOOST_UBLAS_INLINE vector_indirect &operator += (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this + ae)); + vector_assign (scalar_assign (), *this, vector_type (*this + ae)); return *this; } template @@ -1251,7 +1251,7 @@ return true; template BOOST_UBLAS_INLINE vector_indirect &operator -= (const vector_expression &ae) { - vector_assign (scalar_assign (), *this, vector (*this - ae)); + vector_assign (scalar_assign (), *this, vector_type (*this - ae)); return *this; } template @@ -1584,11 +1584,11 @@ return true; #endif vector_closure_type data_; indirect_array_type ia_; - static const_vector_type nil_; + static vector_type nil_; }; template - typename vector_indirect::const_vector_type vector_indirect::nil_; + typename vector_indirect::vector_type vector_indirect::nil_; // Projections #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING