On Tue, Sep 09, 2003 at 01:13:09PM +0200, Lars Gullik Bjønnes wrote:
> Angus Leeming <[EMAIL PROTECTED]> writes:
> 
> | Moves bufferparams.h, lyxvc.h, texrow.h out of buffer.h.
> | Ok to go in?
> >
> | You'll see that the patch adds #include "bufferparams.h" to lots of .C files. 
> | Looking at bufferparams.h itself, I see that adding an Impl class for those 
> | member variables that drag in header files would allow us to remove these 
> | #includes from bufferparams.h:
> >
> | #include "author.h"
> | #include "BranchList.h"
> | #include "Bullet.h"
> | #include "Spacing.h"
> | #include "vspace.h"
> >
> | The variables moved into the Impl would be:
> |         AuthorList authorlist;
> |         BranchList branchlist;
> |         boost::array<Bullet, 4> temp_bullets;
> |         boost::array<Bullet, 4> user_defined_bullets;
> |         Spacing spacing;
> |         VSpace defskip;
> >
> | Is there any enthusiasm for this? Shall I just do it?
> 
> if you move any, you should move all.

Don't agree. 

This gives performance penalty for the 'trivial' stuff too. 

And it _really_ hurts as current profiles show Paragraph::getChar() at
the top -- which goes away if the the accessor does not go to through
the pimpl.

> I know that not all likes the pimpls, but I am mostly indifferent.

I do not like pimpls in general but if used carefully they are usefull.
In this particualr case I'd pimpl the non-trivial stuff exactly as Angus
suggested.

Andre'

Reply via email to