- /**Funktor-Interface für Callback-Template*/
- class IFileHandlerFunctor{
- public:
- virtual void operator()(string path) = 0;
- virtual void call(string path) = 0;
- };
- /**Callback Template*/
- template <class TClass> class TFileHandlerCallbackFunctor: public IFileHandlerFunctor{
- private:
- void (TClass::*_callback)(string);
- TClass *_obj;
- public:
- virtual void operator()(string path){
- (*_obj.*_callback)(path);
- };
- virtual void call(string path){
- (*_obj.*_callback)(path);
- };
- TFileHandlerCallbackFunctor(TClass *obj, void(TClass::*callback)(string )){
- _obj = obj;
- _callback = callback;
- };
- };