Lars Gullik Bj?nnes wrote: > | I'm not sure I understand the separation argument -- the extra > | forwarding layer just adds complexity (e.g. your change to inMatched() > | in insets/insetbase.h just double the number of characters ;-) ), but > | anyway... > > For a grand total of _one_ line.
:-) One line here, one line there, and the final total might be larger. In the worst case, you have on private method for each public method which doubles the size of the entire class declaration. > | I always though the point about NVI is that you can add > | pre-processing/post-processing before calling the virtual function. At > | least that what I've heard -- I never needed to add such pre/post > | processing. > > That is also an argument. If you look at dispatch/doDispatch in > InsetBase you see that we use this. BTW, I also believe NVI is not necessary for pure virtual functions (like 'clone' in insetbase.h). They are really part of the interface. > Also it is way easier to add > breakpoints in the debugger if you need to. Point taken. - Volodya