Assert statique sur paramètres connu (ou non) à la compilation
	
	
		Bonjour à tous,
Je souhaite écrire une fonction qui réalise des vérifications à la compilation mais j'avoue ne pas voir comment m'y prendre: idéalement je voudrais que ma fonction prenne un paramètre (par exemple un int) et que je puisse faire des assertions statique en fonction de si ce paramètre est connu à la compilation (et vérifie certaines propriétés).
Un exemple valant (j'espère!) plus qu'un long discours, voilà en gros ce que je voudrais faire (les commentaires dans le code expliquent mon intention):
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | template<typename T>
void f(T* data, int taille) {
    //assert statique si taille n'est pas connue à la compilation ou si elle est différente de sizeof(T);
}
 
int main()
{
    int i=0;
    f(&i, sizeof(i)); //ok ça passe, taille est connue à la compilation est vaut sizeof(T)
    f(&i, sizeof(long)); //ko, taille est connue à la compilation mais ne vaut pas sizeof(T)
    f(&i, i); //ko, taille n'est pas connue à la compilation
} | 
 Je ne sais même pas en fait si c'est possible en C++ ^^!
Merci pour votre aide