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; }
|