• # Signal

    Posté par (Mastodon) . En réponse au journal Tests de bibliothèques signal-slot en C++. Évalué à 10.

    Tout d'abord, très bon article, merci !

    Il y en a tellement qu'on estime aujourd'hui qu'il existe environ 1,14 bibliothèques de ce type pour chaque développeur C++.

    Alors, oui, mais ça me paraît normal. Mes étudiants ont eu droit cette année à ce sujet : développer une bibliothèque de signal en C++ (sur 2 semaines). C'est un peu le genre de bibliothèque qui permet de manipuler plein de notions de C++. Je vais pas dire que c'est un Hello World mais disons que ça permet de balayer assez large sans être trivial tout en étant concis.

    Après, sur les tests, c'est assez marrant, parce que je n'ai pas eu les mêmes exigences que toi. Par exemple, je leur ai imposé de conserver l'ordre d'enregistrement pour l'appel des slots. En revanche, je n'ai absolument rien dit sur le fait de pouvoir ajouter et supprimer pendant un déclenchement de signal. Mais c'est cool, ça me donne des idées pour la prochaine fois. On était parti sur SimpleSignal (lss) et donc on avait mis des combineurs. Et on s'est amusé à tester les codes avec des objets bizarres (genre des non-copiables, ou non-déplaçable, etc) à la fois dans les paramètres et dans les types de retour : beaucoup de code d'étudiants ne compilait même pas. Il y a aussi l'utilisation de reference_wrapper pour le slot (genre avec un std::ref) qui fait couler beaucoup d'encre rouge.

    Bref, je vais garder ton analyse sous le coude pour la prochaine fois, et je pense que je vais m'en inspirer très largement.