Si j'ai bien compris ta problématique, regarde du côté de function+bind (selon l'âge de compilateur, c'est soit dans std::, soit dans std::tr1::, soit il te faudra utiliser les versions dans boost).