From: Christian P. <cp...@us...> - 2005-01-28 11:33:43
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16015/include/pclasses Modified Files: Callback.h Log Message: Added clone() to Callback classes. Index: Callback.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/Callback.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Callback.h 11 Jan 2005 14:50:52 -0000 1.3 +++ Callback.h 28 Jan 2005 11:33:28 -0000 1.4 @@ -31,6 +31,7 @@ public: virtual ~Callback0() { } virtual RetType exec() const = 0; + virtual Callback0* clone() const = 0; protected: Callback0() { } @@ -42,6 +43,7 @@ public: virtual ~Callback0() { } virtual void exec() const = 0; + virtual Callback0* clone() const = 0; protected: Callback0() { } @@ -62,6 +64,9 @@ RetType exec() const { return (*_funcPtr)(); } + Callback0<RetType>* clone() const + { return new Function0(*this); } + bool operator==(const Function0& f) const { return _funcPtr == f._funcPtr; } @@ -80,7 +85,10 @@ void exec() const { (*_funcPtr)(); } - + + Callback0<void>* clone() const + { return new Function0(*this); } + bool operator==(const Function0& f) const { return _funcPtr == f._funcPtr; } @@ -107,6 +115,9 @@ RetType exec() const { return (_obj->*_funcPtr)(); } + Callback0<RetType>* clone() const + { return new Method0(*this); } + bool operator==(const Method0& f) const { return _obj == f._obj && _funcPtr == f._funcPtr; } @@ -127,6 +138,9 @@ void exec() const { (_obj->*_funcPtr)(); } + Callback0<void>* clone() const + { return new Method0(*this); } + bool operator==(const Method0& f) const { return _obj == f._obj && _funcPtr == f._funcPtr; } @@ -151,6 +165,7 @@ public: virtual ~Callback1() { } virtual RetType exec(ArgType1) const = 0; + virtual Callback1* clone() const = 0; protected: Callback1() { } @@ -162,6 +177,7 @@ public: virtual ~Callback1() { } virtual void exec(ArgType1) const = 0; + virtual Callback1* clone() const = 0; protected: Callback1() { } @@ -182,6 +198,9 @@ RetType exec(ArgType1 arg1) const { return (*_funcPtr)(arg1); } + Callback1<RetType, ArgType1>* clone() const + { return new Function1(*this); } + bool operator==(const Function1& f) const { return _funcPtr == f._funcPtr; } @@ -201,6 +220,9 @@ void exec(ArgType1 arg1) const { (*_funcPtr)(arg1); } + Callback1<void, ArgType1>* clone() const + { return new Function1(*this); } + bool operator==(const Function1& f) const { return _funcPtr == f._funcPtr; } @@ -227,6 +249,9 @@ RetType exec(ArgType1 arg1) const { return (_obj->*_funcPtr)(arg1); } + Callback1<RetType, ArgType1>* clone() const + { return new Method1(*this); } + bool operator==(const Method1& f) const { return _obj == f._obj && _funcPtr == f._funcPtr; } @@ -247,6 +272,9 @@ void exec(ArgType1 arg1) const { (_obj->*_funcPtr)(arg1); } + Callback1<void, ArgType1>* clone() const + { return new Method1(*this); } + bool operator==(const Method1& f) const { return _obj == f._obj && _funcPtr == f._funcPtr; } @@ -271,6 +299,7 @@ public: virtual ~Callback2() { } virtual RetType exec(ArgType1, ArgType2) const = 0; + virtual Callback2* clone() const = 0; protected: Callback2() { } @@ -282,6 +311,7 @@ public: virtual ~Callback2() { } virtual void exec(ArgType1, ArgType2) const = 0; + virtual Callback2* clone() const = 0; protected: Callback2() { } @@ -302,6 +332,9 @@ RetType exec(ArgType1 arg1, ArgType2 arg2) const { return (*_funcPtr)(arg1, arg2); } + Callback2<RetType, ArgType1, ArgType2>* clone() const + { return new Function2(*this); } + bool operator==(const Function2& f) const { return _funcPtr == f._funcPtr; } @@ -321,6 +354,9 @@ void exec(ArgType1 arg1, ArgType2 arg2) const { (*_funcPtr)(arg1, arg2); } + Callback2<void, ArgType1, ArgType2>* clone() const + { return new Function2(*this); } + bool operator==(const Function2& f) const { return _funcPtr == f._funcPtr; } @@ -347,6 +383,9 @@ RetType exec(ArgType1 arg1, ArgType2 arg2) const { return (_obj->*_funcPtr)(arg1, arg2); } + Callback2<RetType, ArgType1, ArgType2>* clone() const + { return new Method2(*this); } + bool operator==(const Method2& f) const { return _obj == f._obj && _funcPtr == f._funcPtr; } @@ -369,6 +408,9 @@ void exec(ArgType1 arg1, ArgType2 arg2) const { (_obj->*_funcPtr)(arg1, arg2); } + Callback2<void, ArgType1, ArgType2>* clone() const + { return new Method2(*this); } + bool operator==(const Method2& f) const { return _obj == f._obj && _funcPtr == f._funcPtr; } |