dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #14914
Re: std::vector and pointers
On Wed, Aug 19, 2009 at 8:30 PM, Garth N. Wells<gnw20@xxxxxxxxx> 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?
I completely agree. I didn't know this either, but Google told me
you're right, .i.e, that C++03 guarantees contiguity. Looking forward
to C++0x when arrays will be contiguous as well.
Ola
> Garth
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
>
--
Ola Skavhaug
Follow ups
References