Update of /cvsroot/pclasses/pclasses2/include/pclasses
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30878/pclasses2/include/pclasses
Modified Files:
Signal.h
Log Message:
template related fixes for gcc 3.4.x.
Index: Signal.h
===================================================================
RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/Signal.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- Signal.h 11 Jan 2005 14:50:52 -0000 1.3
+++ Signal.h 21 Jan 2005 14:51:10 -0000 1.4
@@ -97,11 +97,14 @@
template <typename RetType>
class Signal0: public SignalBase0<RetType> {
public:
+ typedef SignalBase0<RetType> BaseType;
+
+ public:
RetType fire() const
{
RetType ret = RetType();
- typename CallbackList::const_iterator i = _slots.begin();
- while(i != _slots.end())
+ typename BaseType::CallbackList::const_iterator i = this->_slots.begin();
+ while(i != this->_slots.end())
{
ret = (*i)->exec();
if(ret)
@@ -161,12 +164,14 @@
//! Signal with one argument
template <typename RetType, typename ArgType1>
class Signal1: public SignalBase1<RetType, ArgType1> {
+ typedef SignalBase1<RetType, ArgType1> BaseType;
+
public:
RetType fire(ArgType1 arg1) const
{
RetType ret = RetType();
- typename CallbackList::const_iterator i = _slots.begin();
- while(i != _slots.end())
+ typename BaseType::CallbackList::const_iterator i = this->_slots.begin();
+ while(i != this->_slots.end())
{
ret = (*i)->exec(arg1);
if(ret)
@@ -181,11 +186,13 @@
//! Signal with one arguments (void specialisation)
template <typename ArgType1>
class Signal1<void, ArgType1>: public SignalBase1<void, ArgType1> {
+ typedef SignalBase1<void, ArgType1> BaseType;
+
public:
void fire(ArgType1 arg1) const
{
- typename CallbackList::const_iterator i = _slots.begin();
- while(i != _slots.end())
+ typename BaseType::CallbackList::const_iterator i = this->_slots.begin();
+ while(i != this->_slots.end())
{
(*i)->exec(arg1);
++i;
@@ -227,12 +234,14 @@
//! Signal with two arguments
template <typename RetType, typename ArgType1, typename ArgType2>
class Signal2: public SignalBase2<RetType, ArgType1, ArgType2> {
+ typedef SignalBase2<RetType, ArgType1, ArgType2> BaseType;
+
public:
RetType fire(ArgType1 arg1, ArgType2 arg2) const
{
RetType ret = RetType();
- typename CallbackList::const_iterator i = _slots.begin();
- while(i != _slots.end())
+ typename BaseType::CallbackList::const_iterator i = this->_slots.begin();
+ while(i != this->_slots.end())
{
ret = (*i)->exec(arg1, arg2);
if(ret)
@@ -247,11 +256,12 @@
//! Signal with two arguments (void specialisation)
template <typename ArgType1, typename ArgType2>
class Signal2<void, ArgType1, ArgType2>: public SignalBase2<void, ArgType1, ArgType2> {
+ typedef SignalBase2<void, ArgType1, ArgType2> BaseType;
public:
void fire(ArgType1 arg1, ArgType2 arg2) const
{
- typename CallbackList::const_iterator i = _slots.begin();
- while(i != _slots.end())
+ typename BaseType::CallbackList::const_iterator i = this->_slots.begin();
+ while(i != this->_slots.end())
{
(*i)->exec(arg1, arg2);
++i;
|