Boucle for en méta-programmation?
Salut
Est-ce que quelqu'un voit comment faire une boucle "for" en meta-programmation sur un intervalle constant?
Il faudrait que cette boucle se déroule complètement pour le compilo et que l'on ait accès au numéro d'itération dans la boucle.
Pour l'exemple du factoriel de 10, quelque chose qui ressemblerait plus ou moins à ceci:
Code:
1 2 3 4 5
| fact*=1
meta_for<1,10>
{
fact*=I;
} |
Ou peut-être bien avec un foncteur, du genre:
Code:
1 2 3 4 5 6 7 8
| struct fact
{
int x;
fact() :x(1) {};
void operator() (int i) { x=i*x;}
};
meta_for<1,10>(fact()) |