Mein multidispatcher



  • Vor ca. einem 3/4 jahr oder so hab ich mal einen template basierten generischen multidispatcher geschrieben (und auch hier geposted, finde den beitrag aber nicht mehr).
    Vor einiger Zeit hatte ich mehr scherzhaft angeboten, den in einem Artikel mal etwas näher zu beschreiben. Komischer weise schien estartu das aber ernst zu nehmen... Naja, mit der mail kam was dazwischen und dann hatte ich nicht mehr wirklich zeit. Heute hab ich mich mal rangesetzt (eigentlich hätte ich für latein lernen und ein buch lesen wollen, aber...). Zunächst musste ich feststellen, dass der code, der unter MSVC 7 problemlos compilierte unter g++ nicht ging :D. Habs jetzt repariert.

    Der code findet sich hier.

    Jetzt zum eigentlichen sinn dieses threads:

    • Besteht interesse an einem solchen artikel?
      Die idee stammt aus "modernes C++ design", wurde dort aber nur vorgeschlagen und nicht implementiert. Im internet hab ich auf anhieb nichts vergleichbares finden können, das muss aber nichts heißen.
      Außerdem zeigt es natürliche mehr oder weniger praktische anwendung von templates, typelisten und boost.preprocessor.
    • Wenn das der fall ist, würden bitte möglichst viele leute (mit möglichst verschiedenen compilern) das testen?
      Zumindest beim "port" von MSVC7 auf g++ gabs viele probleme. Jetzt kompilierts aber mit "-Wall -pedantic -s -W -O3 -Werror"
    • Der code benutzt gleichzeitig loki und boost. Das ist ein bischen sinnlos, mir war das aber, als ich ihn schrieb, nicht bewusst.
      Eigentlich hab ich keine lust, dass alles umzuschreiben, trotzdem wäre konsistenz nicht schlecht. (lies: würde das jemand machen?)
    • An sich zeigt der code gleich mehrere sachen: typelisten, boost.preprocessor, den dispatcher selbst und ein hilfskonstrukt das ich "moderne ellipse" nenne.
      Arbeitsteilung wäre also kein problem.


  • ness schrieb:

    [list][*]Besteht interesse an einem solchen artikel?

    Jup. :).

    [*]Wenn das der fall ist, würden bitte möglichst viele leute (mit möglichst verschiedenen compilern) das testen?
    Zumindest beim "port" von MSVC7 auf g++ gabs viele probleme. Jetzt kompilierts aber mit "-Wall -pedantic -s -W -O3 -Werror"

    Kann ich leider nicht helfen, da ich nur den g++ besitze.

    [*]Der code benutzt gleichzeitig loki und boost. Das ist ein bischen sinnlos, mir war das aber, als ich ihn schrieb, nicht bewusst.
    Eigentlich hab ich keine lust, dass alles umzuschreiben, trotzdem wäre konsistenz nicht schlecht. (lies: würde das jemand machen?)

    Habe z.Z. leider sehr wenig Zeit, weshalb ich hier ebenfalls kneifen muss :(.

    Wie gesagt, interessieren tut es mich schon. Fang doch einfach mal mit dem ersten Teil an, wonach man weiter sehen kann 🙂 👍

    Gruß Caipi



  • @ness: Man sieht sich im Privatforum (Redaktion). 🙂
    Willkommen im Team.


Anmelden zum Antworten