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@gmail.com>
To: ublas mailing list <ublas@lists.boost.org>
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.


Am Mo., 21. Jan. 2019 um 11:28 Uhr schrieb dariomt--- via ublas <ublas@lists.boost.org>:
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!