Bonjour,

j'ai actuellement une classe X comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
template <typename T> struct X
{
	X () {}
 
	X (T funct) : execute (funct) {}
 
	T execute;
};
Je voudrais en faite stocker des fonctions de tous types dans T, et les utiliser avec boost::asio::io_service::post() :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
X (boost::bind (&namespace::fonction, arg1, arg2, etc ...));
io_service.post (X.execute);
Malheureusement ça ne marche pas car il faudrait que je n'ai pas à spécifier X<T> à la création de l'objet ...

Je veux pouvoir faire ce système pour envoyer n'importe quelle fonction à exécuter à l'io_service, et je dois utiliser une classe plutôt que de faire simplement io_service.post (bind (&namespace::fonction, arg1, arg2, etc ...)) car j'ai besoin de stocker des flags qui me permettent de savoir si je peux exécuter la fonction associée à chaque X.

Merci d'avance de vos conseils/critiques.