Bonjour,
Avant de me faire assassiner sur ce forum, je sait que l'on ne peut pas creer de template de methode virtuelle. Mon problème est que la plupart des alternatives que j'ai eu l'occasion de trouver sur le net ne semble pas fonctionner avec moi, et je voulait votre aide sur la question car c'est un problème vraiment énervant.
Voici mon problème: j'ai une application qui charge tous les modules d'un repertoire a la volée (durant l'execution) a grand coup de dlopen. Cela permet aux utilisateurs de creer leurs propres modules si ils le souhaitent.
Pour ce faire j'utilise une classe abstraite, qui sert de canevas aux modules. l'une de ses classes virtuelle pure est un getter qui reçoit en parametre le nom d'une variable, et reçoit en retour la valeur de cette variable. Cette variable peut etre de n'importe quel type, c'est pourquoi j'ai pensé aux Templates, pour découvrir cela ne marche pas et ne marchera jamais, idem pour sa version "crade" du void *. les surcharges sont hors de question afin d'eviter au developpeur du module de devoir toutes les implementer dans son module.
P.S.: le module que j'essaie d'implementer afin de tester mon gestionnaire de module parse un fichier, etablie le typage pour chaque ensemble clé/valeur, et renvoie a l'appelle de la methode getValue(clé) la valeur dans son typage correcte (clé => width / valeur => int, clé => path / valeur => std::string, clé => coord, valeur => float, etc...).
J'espere avoir été assez clair, vu que je voit quel code de mon prog poster pour expliquer ce que je souhaite faire...
Partager