Créer un objet template sans spécification
Bonjour,
j'ai actuellement une classe X comme ceci :
Code:
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:
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.