On Wed, Aug 19, 2009 at 10:14 PM, <[email protected]> wrote: >> I didn't realise until recently that storage in std::vector is >> guaranteed by the C++ standard to be contiguous (versus only being >> contiguous in all known implementations). Using this, I think that we >> can have safer and cleaner code by using more std::vector in the linear >> algebra interface. For example, we could have >> >> GenericVector::get(std::vector<double>& ); >> GenericVector::set(const std::vector<double>& ); >> >> instead of >> >> GenericVector::get(double* x); >> GenericVector::set(const double* x); >> >> For backends that want a pointer to an array, we can pass &x[0]. Any >> opinions? >> > > Is the use of &x[0] safe ? Will it change if the vector is resized ? This > is maybe > nothing to worry about ?
Sure, this is something to worry about, and there will be no magic here :) However, it will enable us to make range checks and issue error messages more easily. Ola > Kent > >> Garth >> _______________________________________________ >> DOLFIN-dev mailing list >> [email protected] >> http://www.fenics.org/mailman/listinfo/dolfin-dev >> > > > _______________________________________________ > DOLFIN-dev mailing list > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev > -- Ola Skavhaug _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
