Martin Sandve Alnæs wrote:
> 2008/7/8 Garth N. Wells <[EMAIL PROTECTED]>:
>>
>> Anders Logg wrote:
>>> On Thu, Jun 26, 2008 at 02:55:30PM +0200, Andy Ray Terrel wrote:
>>>> You probably don't need the explicit keyword for copy constructors as
>>>> done in Functions.h , PetscMatrix.h, uBlasMatrix.h, EpetraMatrix.h.
>>>> This has the added effect of not being able to pass functions as
>>>> arguments (perhaps that is bad but anyhow).  Having just pulled this
>>>> seemed to make my code a bit unhappy.
>>> You should not need to have a copy constructor to pass a Function as
>>> argument (at least by reference or as a pointer). Or are you passing
>>> it by value? That's probably not a good idea since it would involve
>>> copying the entire mesh as well as the vector of dofs.
>>>
>> This has become an annoyance for me because I do want to pass a Function
>> by value (I really do want a copy) and I can't do
>>
>>   Function f(mesh);
>>   std::vector<Function> F;
>>   F.push_back(f);
>>
>> when explicit is used.
>>
>> Garth
> 
> Then remove the explicit keyword. I may have added it in too many places.
> The point is to avoid strange situations leading to memory leaks and the like.
> 

I removed it. I'm happy to see it added by default, and then removed as 
necessary.

Garth
_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to