[Dune] Fwd: Re: [Dune-Commit] dune-common r6512 - trunk/dune/common

Markus Blatt Markus.Blatt at iwr.uni-heidelberg.de
Fri Oct 14 12:17:56 CEST 2011


On Thu, Oct 13, 2011 at 10:55:11AM +0100, Martin Nolte wrote:
> 
> 
> I do not consider this an interface change, since all existing codes
> will keep working unless you define row_reference to something other
> than row_type &. 

Changing the signature of a function is IMHO an interface change even
if it might change only future code.

> And I do not intend to do such a thing to the
> FieldMatrix, which is indeed so deeply in the core of DUNE that such a
> change is nearly impossible.
> 
> The reason for the change is to allow containers that store all values
> in a single array (e.g., a FieldVector). If you do this, the row has to
> be a dummy object that cannot be referenced (in the standard C++ sense).
> However, all required information is so small that you can actually
> store it in the reference itself, once this is allowed to be an object.
> 

And one someone uses that container instead of FieldMatrix things
might break and without this discussion it would be hard to find.

> So, if you feel like voting on this, go ahead and create a FlySpray
> entry on this. My vote is clear.

I didn't even call for a vote. My only concern is to raise attention
of developers and users before such changes. That would have been
nice, would it not?

The only still unanswered question is: Who will change all occurrences
of row_type& to row__reference and so on in the code to prevent
future code breakage?

Regards,

Markus




More information about the Dune mailing list