diff --git a/src/cxxTemplates/tsDLList.h b/src/cxxTemplates/tsDLList.h index 70ff90674..2dd19643c 100644 --- a/src/cxxTemplates/tsDLList.h +++ b/src/cxxTemplates/tsDLList.h @@ -164,6 +164,8 @@ public: protected: T *pCurrent; tsDLList *pList; + + T * current (); // certain compilers require this }; // @@ -202,6 +204,8 @@ public: // is removed) // void remove (); +protected: + T *current (); }; // @@ -240,6 +244,8 @@ public: // is removed) // void remove (); +protected: + T * current (); }; @@ -782,6 +788,16 @@ inline T * tsDLIter::operator () () return this->next(); } +// +// tsDLIter::current() +// +template +inline T * tsDLIter::current() +{ + return this->pCurrent; +} + + /////////////////////////////////////////// // tsDLBwdIter member functions /////////////////////////////////////////// @@ -871,6 +887,12 @@ inline T * tsDLBwdIter::prev () return this->tsDLIter::prev(); } +template +inline T * tsDLBwdIter::current() +{ + return this->tsDLIter::current (); +} + ////////////////////////////////////////// // tsDLFwdIter member functions ////////////////////////////////////////// @@ -904,6 +926,12 @@ inline T * tsDLFwdIter::first() return iterBase.first(); } +template +inline T * tsDLFwdIter::current() +{ + return this->tsDLIter::current (); +} + // // tsDLFwdIter::remove () // (and move current to be the item diff --git a/src/libCom/cxxTemplates/tsDLList.h b/src/libCom/cxxTemplates/tsDLList.h index 70ff90674..2dd19643c 100644 --- a/src/libCom/cxxTemplates/tsDLList.h +++ b/src/libCom/cxxTemplates/tsDLList.h @@ -164,6 +164,8 @@ public: protected: T *pCurrent; tsDLList *pList; + + T * current (); // certain compilers require this }; // @@ -202,6 +204,8 @@ public: // is removed) // void remove (); +protected: + T *current (); }; // @@ -240,6 +244,8 @@ public: // is removed) // void remove (); +protected: + T * current (); }; @@ -782,6 +788,16 @@ inline T * tsDLIter::operator () () return this->next(); } +// +// tsDLIter::current() +// +template +inline T * tsDLIter::current() +{ + return this->pCurrent; +} + + /////////////////////////////////////////// // tsDLBwdIter member functions /////////////////////////////////////////// @@ -871,6 +887,12 @@ inline T * tsDLBwdIter::prev () return this->tsDLIter::prev(); } +template +inline T * tsDLBwdIter::current() +{ + return this->tsDLIter::current (); +} + ////////////////////////////////////////// // tsDLFwdIter member functions ////////////////////////////////////////// @@ -904,6 +926,12 @@ inline T * tsDLFwdIter::first() return iterBase.first(); } +template +inline T * tsDLFwdIter::current() +{ + return this->tsDLIter::current (); +} + // // tsDLFwdIter::remove () // (and move current to be the item