Ola Skavhaug wrote:
> Dag Lindbo skrev den 09/04-2008 følgende:
>> Hello again!
>>
>> Why is it not possible any longer to get the Vector associated with a
>> Function? E.g:
>>
>> #include <dolfin.h>
>> using namespace dolfin;
>>
>> int main()
>> {
>> Function u;
>> Vector& v = u.vector();
>> }
>
> int main()
> {
> Function u;
> Vector v;
> v = u.vector();
> return 0;
> }
>
> Should work. A Function returns a GenericVector reference, and the Vector
> reference needs to be a Vector. Then the operator= in Vector is applied in the
> assignment.
>
> Ola
Ola,
Sorry if I'm this is a stupid/incorrect observation. What you propose is
a a deep copy of the vector. So something like
uBlasVector& vv = *(v.instance());
vv[0] = 1000.32;
has no impact on the data owned by u. uBlas only has deep copy
semantics, which are invoked in dolfin::Vector::operator= (i.e. *vector
= *x; )
Is this really what we want?
/Dag
>
>> error: invalid initialization of reference of type ‘dolfin::Vector&’
>> from expression of type ‘dolfin::GenericVector’
>>
>> na55:cpp > scons
>> c++ -o test.o -c -Wall -pipe -ansi -g -Werror -O2 -pthread -DDEBUG
>> -DNDEBUG -DPACKAGE_VERSION="0.7.2" -DHAS_UMFPACK=1 -DHAS_GTS=1
>> -I/usr/local/include
>> -I/usr/lib/python2.5/site-packages/numpy/core/include
>> -I/usr/include/suitesparse -I/usr/include/python2.5
>> -I/usr/include/libxml2 -I/usr/include/glib-2.0
>> -I/usr/lib/glib-2.0/include test.cpp
>> test.cpp: In function ‘int main()’:
>> test.cpp:8: error: invalid initialization of reference of type
>> ‘dolfin::Vector&’ from expression of type ‘dolfin::GenericVector’
>> cc1plus: warnings being treated as errors
>> test.cpp:8: warning: unused variable ‘v’
>> scons: *** [test.o] Error 1
>>
>> I hope this functionality hasn't been removed.
>>
>> /Dag
>> _______________________________________________
>> 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