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

Reply via email to