bonjour
alors voila, j'ai trois variables.
- enum{LUMINANCE, RGB} PixelType;
- enum{SIGNED, UNSIGNED, RATIONAL} PixelComponentType;
- unsigned int nb_bits_per_pixels;
Le type d'une image dépend de ces trois variables.
J'ai aussi ces quelques classes :
- Image<T>;
- ImageLoader<T>;
- ImageFilter1<T1, T2>;
- ImageFilter2<T1, T2>;
- ...
- ImageFilterN<T1, T2>
T, T1, et T2 correspondent au type des pixels de l'image, les valeurs possibles sont par ex. float, double, unsigned char, ..., RGBPixel<float>, ...
A savoir que le type des pixels de l'image dépends des trois variables décrites précedemment. Durant l'exécution du programme, ces variables peuvent varier du tout au tout, et fréquemment; et je dois créer des instances de Image<T>, ImageLoader<T>, et ImageFilter<T1, T2> (T1 et T2 sont différents).
Afin de simplifier le code et de permettre une meilleure maintenance de ce code, quel est la meilleur façon d'obtenir le type T à partir de trois variables lors de l'instanciation ?
J'avais commencé comme cela, en testant les variables et utilisant le préprocesseur (pour éviter de recopier tout le code à chaque fois), mais cela devient vite très très exhaustif... il faut tester toutes les valeurs possibles à chaque fois...
Des suggestions??
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
25
26
27
28
29
30
31
32
33
34

 

 
		
		 
         
			
			
 
   


 obtenir un type à partir de variables pour instancier une classe template
 obtenir un type à partir de variables pour instancier une classe template
				 Répondre avec citation
  Répondre avec citation

 
  
  
 
 
  
 
 
			 
   
Partager