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'