On Jul 23, 2015, at 00:55 , David Kastrup <d...@gnu.org> wrote:
> Dan Eble <d...@faithful.be> writes:
>> One thing that is obviously incomplete is that the final classes are
>> not derived from Grob.

For example, after I run the script you provided, there is this:

    class Accidental_interface
    {
    public:
      DECLARE_MEMBER_CALLBACK (print, ());
      DECLARE_MEMBER_CALLBACK (horizontal_skylines, ());
    // etc.

This can not work as written because the implicit argument is a kind of Grob, 
which can not be cast to an Accidental_interface.

> match (I think the next step I was planning on is figuring out per
> script which stuff was derived from the right classes for doing this
> kind of change).

I see these options:

1. Take an entirely different approach to organizing the interfaces, after 
careful thought as suggested in 
https://code.google.com/p/lilypond/issues/detail?id=4564#c7

2. Derive interface classes from Grob (in some cases a subclass of Grob might 
be appropriate) and abuse the pointers, which is where I thought you were going 
with this at first.

3. Restrict member callbacks to the handful of subclasses of Grob that exist 
now.

Anything else?
— 
Dan


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to