Je suis d'accord que tu peux utiliser les templates comme maniere de factoriser du code dans tes implementations. Mais cela releve du detail d'implementation a mon avis, et ne devrait pas etre expose publiquement.
Le cas typique du renderer qui est implemente de differentes manieres (OpenGL/DirectX) est de passer par une classe abstraite Renderer et une factory qui instancie l'une ou l'autre implementation. Ces implementations peuvent alors reposer sur un template interne, prive.
Concernant les dlls, si j'ai bien compris, tu exportes une instanciation explicite de template (dis moi si je me trompe). C'est super pas portable / limité / risqué. Les template ne sont pas faits pour traverser les frontieres d'un module compilé, telle une dll. Ils ne devraient pas faire partie de leur interface.
Partager