En générale, on la réinvente carrée
Donc ma question: est-ce que quelque chose comme ça existe déjà:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template<class T, class Arg, class Result> class CWrapper2
{
   typedef Result (T::* TypeFonctionMembre)(Arg,Arg);
   typedef Result TypeRetour;
   typedef Arg TypeArg;
public:
   CWrapper2(T*P_Element,TypeFonctionMembre P_FonctionMembre)
   :m_pElement(P_Element),m_Fonction(P_FonctionMembre)
   {}
   TypeRetour operator()(TypeArg P_Arg1, TypeArg P_Arg2)
   {return (m_pElement->*m_Fonction)(P_Arg1, P_Arg2);}
 
protected:
   T *m_pElement;
   TypeFonctionMembre m_Fonction;
};