I just wondered: Why is it sensible to have the dispatch switches in each
inset?

As far as I can tell, the same functionality can achieved by virtual
functions for individual LFUNs and a single big switch in the inset base
class.

The only disadvantage I see is that we'll have 100+ additional member
functions in the base class (which is certainly not Nice), but the total
effort should be about the same.

I am asking not because I want to change this but because I just met a
nuisance of the current scheme: If  D derives from B and B implements lfuns
l1,l2,...l10  and D wants to override just l1, it has to explicitly forward
calls to l2...l10 to B. Which is Not Nice, and moreover error-prone when
lfun "handlers" get added to B.

Our current scheme is conceptually not very different from extending the 
insets' vtable "manually" by the jump table in the dispatch switch - with
the need to do some things manually the compiler would take care of if left
to it...

Do I miss something crucial?

Andre'
 
-- 
Those who desire to give up Freedom in order to gain Security,
will not have, nor do they deserve, either one. (T. Jefferson)

Reply via email to