Forse, il titolo non è molto azzeccato, ma non avevo proprio idea di come chiamare il thread XD.
Ad ogni modo, io ho una classe così dichiarata:
codice:
template<class Type>
class Event {
typedef function<Type> FunctionObj;
public:
void Bind(const FunctioObj&) {...};
void Fire({ARGOMENTI}) {
vector<FunctionObj>::iterator it = Objs.begin();
while(it != Objs.end())
{
(*it)({ARGOMENTI});
++it;
}
};
protected:
vector<FunctionObj> Objs;
}
Allora il mio problema è che vorrei che La lista degli argomenti di Fire, sia la stessa specificata per il prototipo di callback di function<>
Es:
codice:
Event<void(int,char,size_t)> e;
//dovrebbe darmi e.Fire(int, char, size_t), proprio come fa
operator ()(...); di std::tr1::function.
Ho notato che si fa uso di particolari costrutti, o boh tipo: _C_CLASS_ARG0, _ARG0_ARG1
Spero possiate aiutarmi, è che non sia una domanda già fatta, giacchè con la ricerca non mi ha trovato nnt