Fonction membre de classe que le rappel à l'aide de boost::bind et boost::function

Je suis en train de travailler à travers la mise en place d'une fonction membre comme un rappel pour un C-bibliothèque que j'utilise. Le C-bibliothèque met en place des rappels comme ceci:

typedef int (*functionPointer_t)(myType1_t*, myType2_t*, myType3_t*);

setCallback(param1, param2, functionPointer, param4)

Je voudrais utiliser boost::bind (si possible) pour passer le pointeur de fonction. Je préférerais que la fonction pointée était un membre de la instancié de la classe, pas un membre statique. E. g.

Class A {
 public: 
  A();
 protected:
  int myCallback(myType1_t*, myType2_t*, myType3_t*); //aka functionPointer_t
}

Cela peut être fait en utilisant boost::bind et boost::function? Par Comment puis-je passer une fonction membre de classe comme un rappel? (la 3ème réponse) il semble que je pourrais déclarer les éléments suivants (quelque part, ou qu'un typedef):

boost::function<int (A*, myType1_t*, myType2_t*, myType3*> myCallbackFunction

Et puis, quelque part dans Un (ctor) appel boost::bind sur ce type, et la passer dans le C-appel de la bibliothèque.

Est-ce possible, ou suis-je à côté de la plaque? Merci beaucoup.

OriginalL'auteur jdt141 | 2010-01-04