Subject: Re: [ublas] vector_view over (T*,size) (Cem Bassoy)
From: Cem Bassoy (cem.bassoy_at_[hidden])
Date: 2019-01-23 16:42:00
Am Mi., 23. Jan. 2019 um 16:34 Uhr schrieb dariomt--- via ublas <
> Thanks but I already know about vector proxies, and I don't think covers
> my needs.
True because all proxies constructors require container types.
> Let me rephrase the question, given the function add, that takes a vector
> and a span (pointer + size)
> ublas::vector<double> add(const ublas::vector<double>& v, const double* p,
> size_t s)
> assert(v.size() == s);
> return v + vector_view<double>(p, s);
> Is there something like vector_view already in Ublas that
> 1) does not copy the data pointed by p
No. It should be in the proxy (view) class template.
> 2) integrates in the ublas expression template machinery as a vector-like
> If there is not one already implemented, is it possible to implement one?
> Is it enough if I model the "Vector Expression" Concept as described in
> ? Do I also need to inherit from vector_expression?
You could locally extend vector_range by a constructor.
You could implement a vector_view similar to vector_range. Then yes you
need to inherit from vector_expression.
> From: Cem Bassoy <cem.bassoy_at_[hidden]>
>> To: ublas mailing list <ublas_at_[hidden]>
>> Date: Wed, 23 Jan 2019 10:18:22 +0100
>> Subject: Re: [ublas] [Ublas] vector_view over (T*,size)
>> Hi there,
>> yes, it is possible to do something like this. Please have a look at Vector
>> Am Mo., 21. Jan. 2019 um 11:28 Uhr schrieb dariomt--- via ublas <
>>> Hi list,
>>> Say I have a (GSL-like) span (which is basically a pointer and a length).
>>> Is it possible to build a vector-like view over that span, so that the
>>> result is usable within the ublas expression template machinery? Some kind
>>> of ublas::vector_view(T*, size)?
>>> The objective is to avoid having to copy all that data into a
>>> ublas::vector just to interoperate with other ublas code.
>>> Thanks in advance!
> ublas mailing list
> Sent to: cem.bassoy_at_[hidden]