Bonjour à tous,

Je voudrais à la compilation créer la liste des types formés d'un type de chacune de deux listes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
typedef mpl::vector<bool, char> list_types_1;
typedef mpl::vector<short, int, long> list_types_2;
avec comme resultat la liste suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
template<typename T1, T2>
struct Foo {};
 
mpl::vector<
	Foo<bool, short>,
	Foo<bool, int>,
	Foo<bool, long>,
	Foo<char, short>,
	Foo<char, int>,
	Foo<char, long> > list_types_3;
en gros faire une double boucle for :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
foreach type1 in list_types_1
	foreach type2 in list_types_2
		mpl::push_back< list_types_3, Foo<type1, type2> >
mais je vois pas trop comment procéder (je débute total en métaprog )