Boost logo

Ublas :

Subject: Re: [ublas] vector_view over (T*,size) (Cem Bassoy)
From: dariomt_at_[hidden]
Date: 2019-01-23 15:33:20


Hello,

Thanks but I already know about vector proxies, and I don't think covers my
needs.

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
2) integrates in the ublas expression template machinery as a vector-like
expression

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
https://www.boost.org/doc/libs/1_69_0/libs/numeric/ublas/doc/expression_concept.html#2VectorExpression
? Do I also need to inherit from vector_expression?

Thanks!

From: Cem Bassoy <cem.bassoy_at_[hidden]>
> To: ublas mailing list <ublas_at_[hidden]>
> Cc:
> Bcc:
> 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
> Proxies.
> <https://www.boost.org/doc/libs/1_69_0/libs/numeric/ublas/doc/vector_proxy.html>
>
>
> Am Mo., 21. Jan. 2019 um 11:28 Uhr schrieb dariomt--- via ublas <
> ublas_at_[hidden]>:
>
>> 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!
>>
>