On Friday, 28 February 2020 at 10:14:41 UTC, Виталий Фадеев wrote:
On Friday, 28 February 2020 at 09:49:53 UTC, Simen Kjærås wrote:
On Friday, 28 February 2020 at 09:25:58 UTC, Виталий Фадеев wrote:
[...]

So let's create a template for that:

[...]

Cool!

Think!
I writing code generation. Like this:

void On( T, alias M )( T o )
{
    // generate code in dispatcher
    // get AllMembers()
    //   filter OnABC (ex: OnWM_KEYUP)
    //   on each
    //   writeCode(
    //     q{
    //        if ( message == WM_KEYUP )
    //           o.OnWM_KEYUP();
    //      }
    //   );

    static ... foreach(  ) ...
    {
        CB_MESSAGE = ...
        CB_METHOD  = ...

        mixin (
"if ( message == CB_MESSAGE ) " ~ "o." ~ CB_METHOD ~ "();"
        );
    }
}

Reply via email to