Bonjour tout le monde,
Je cherche une méthode afin d'exporter une version compilée de mes templates au sein d'une bibliothèque sans pour autant fournir le fichier du template.
Est-ce faisable?
Merci
 Template, Export bibliothèque
 Template, Export bibliothèque
				
				
						
						
				Bonjour tout le monde,
Je cherche une méthode afin d'exporter une version compilée de mes templates au sein d'une bibliothèque sans pour autant fournir le fichier du template.
Est-ce faisable?
Merci
 
 
				
				
						
						
				Une version compilée de templates c++ ? Ça ne fait pas sens pour moi vu que les templates sont utilisés à la compilation
Ou ai-je mal compris la question ?
 
 
				
				
						
						
				Oui, je me suis mal exprimé. En fait, j'ai un template représentant des images. Ces images peuvent être soient de type float soit de type entier par exemple. Je voulais éviter de donner l'implémentation de cette classe template en ne donnant juste leur "spécialisation" (en utilisant typedef par exemple).
 
 
				
				
						
						
				Oui si comme j'ai compris, c'est le type de données qui est templatisé, tu dois pouvoir faire un typedef dans un header.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
 
 
				
				
						
						
				Tu peux passer par une astuce: la spécialisation de type incomplet:
La classe template n'est pas définie dans le cas général, et est spécialisée pour deux cas précis
L'en-tête contiendrait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
 
 
				
				
						
						
				Merci pour vos réponses.
@SkyZoThreaD: le problème avec cette méthode, c'est que j'exporte le template ce que je souhaite.
@leternel: je ne souhaite pas vraiment spécialiser les templates, mais plutôt les définir.
Mon but est d'éviter d'inclure certains en-tête entraînant des dépendances indésirables.
Voici un exemple:
Je ne vois vraiment pas si c'est possible mais bon, peut-être qu'il existe une petite astuce sympa pour ce genre de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Partager