Ticket #1974: vector_of_vector.patch

File vector_of_vector.patch, 2.8 KB (added by Will Moss <wmoss@…>, 14 years ago)
  • vector_of_vector.hpp

     
    141141            data ().resize (sizeM + 1, preserve);
    142142            if (preserve) {
    143143                for (size_type i = 0; (i <= oldM) && (i < sizeM); ++ i)
    144                     ref (data () [i]).resize (sizem, preserve);
     144                                        boost::numeric::ublas::ref (data () [i]).resize (sizem, preserve);
    145145                for (size_type i = oldM+1; i < sizeM; ++ i) // create new vector elements
    146146                    data_.insert_element (i, vector_data_value_type ()) .resize (sizem, false);
    147147                if (sizeM > oldM) {
    148148                    data_.insert_element (sizeM, vector_data_value_type ());
    149149                } else {
    150                     ref (data () [sizeM]).resize (0, false);
     150                    boost::numeric::ublas::ref (data () [sizeM]).resize (0, false);
    151151                }
    152152            } else {
    153153                for (size_type i = 0; i < sizeM; ++ i)
     
    298298        true_reference insert_element (size_type i, size_type j, const_reference t) {
    299299            const size_type elementM = layout_type::index_M (i, j);
    300300            const size_type elementm = layout_type::index_m (i, j);
    301             vector_data_value_type& vd (ref (data () [elementM]));
     301                        vector_data_value_type& vd (boost::numeric::ublas::ref (data () [elementM]));
    302302            storage_invariants ();
    303303            return vd.insert_element (elementm, t);
    304304        }
     
    306306        void append_element (size_type i, size_type j, const_reference t) {
    307307            const size_type elementM = layout_type::index_M (i, j);
    308308            const size_type elementm = layout_type::index_m (i, j);
    309             vector_data_value_type& vd (ref (data () [elementM]));
     309            vector_data_value_type& vd (boost::numeric::ublas::ref (data () [elementM]));
    310310            storage_invariants ();
    311311            return vd.append_element (elementm, t);
    312312        }
     
    323323            const size_type sizeM = layout_type::size_M (size1_, size2_);
    324324            // FIXME should clear data () if this is done via value_type/*zero*/() then it is not size preserving
    325325            for (size_type i = 0; i < sizeM; ++ i)
    326                 ref (data () [i]).clear ();
     326                                boost::numeric::ublas::ref (data () [i]).clear ();
    327327            storage_invariants ();
    328328        }
    329329
     
    337337
    338338        BOOST_UBLAS_INLINE
    339339        true_reference at_element (size_type i, size_type j) {
    340             return ref (ref (data () [layout_type::index_M (i, j)]) [layout_type::index_m (i, j)]);
     340            return boost::numeric::ublas::ref (boost::numeric::ublas::ref (data () [layout_type::index_M (i, j)]) [layout_type::index_m (i, j)]);
    341341        }
    342342
    343343    public: