From: Christian P. <cp...@us...> - 2005-02-02 15:54:53
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28007/include/pclasses Modified Files: Callback.h CallbackN.sh Log Message: Moved implementation of non-templates to Callback.cpp. Added throw() specifiers to Callback classes. Index: CallbackN.sh =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/CallbackN.sh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- CallbackN.sh 1 Feb 2005 16:45:17 -0000 1.2 +++ CallbackN.sh 2 Feb 2005 15:54:42 -0000 1.3 @@ -56,7 +56,8 @@ template <$templateargs> class CallbackArgs$num: public CallbackArgs { public: - CallbackArgs$num() : CallbackArgs($num) { } + CallbackArgs$num() throw() + : CallbackArgs($num) { } CallbackArgs* clone() const { return new CallbackArgs$num(*this); } @@ -79,8 +80,8 @@ typedef CallbackArgs$num<$argtypes> Args; struct RetType: public Callback::RetType { _RetT retVal; }; - Callback$num() { } - virtual ~Callback$num() { } + Callback$num() throw() { } + virtual ~Callback$num() throw() { } Callback::RetType exec(const CallbackArgs& args) const { @@ -101,8 +102,8 @@ typedef CallbackArgs$num<$argtypes> Args; struct RetType: public Callback::RetType { }; - Callback$num() { } - virtual ~Callback$num() { } + Callback$num() throw() { } + virtual ~Callback$num() throw() { } Callback::RetType exec(const CallbackArgs& args) const { @@ -123,7 +124,7 @@ public: typedef _RetT (*FuncPtr)($argtypes); - Function$num(FuncPtr ptr) + Function$num(FuncPtr ptr) throw() : _funcPtr(ptr) { } _RetT exec($argtypeswname) const @@ -132,7 +133,7 @@ Callback$num<_RetT, $argtypes>* clone() const { return new Function$num(*this); } - bool operator==(const Function$num& f) const + bool operator==(const Function$num& f) const throw() { return _funcPtr == f._funcPtr; } private: @@ -145,7 +146,7 @@ public: typedef void (*FuncPtr)($argtypes); - Function$num(FuncPtr ptr) + Function$num(FuncPtr ptr) throw() : _funcPtr(ptr) { } void exec($argtypeswname) const @@ -154,7 +155,7 @@ Callback$num<void, $argtypes>* clone() const { return new Function$num(*this); } - bool operator==(const Function$num& f) const + bool operator==(const Function$num& f) const throw() { return _funcPtr == f._funcPtr; } private: @@ -163,7 +164,7 @@ //! Returns a function-callback object template <typename _RetT, $templateargs> -Function$num<_RetT, $argtypes> make_function(_RetT (*ptr)($argtypes)) +Function$num<_RetT, $argtypes> make_function(_RetT (*ptr)($argtypes)) throw() { return Function$num<_RetT, $argtypes>(ptr); } /* ---------- Method1 ------------ */ @@ -174,7 +175,7 @@ public: typedef _RetT (_ObjT::*FuncPtr)($argtypes); - Method$num(_ObjT* obj, FuncPtr ptr) + Method$num(_ObjT* obj, FuncPtr ptr) throw() : _obj(obj), _funcPtr(ptr) { } _RetT exec($argtypeswname) const @@ -183,7 +184,7 @@ Callback$num<_RetT, $argtypes>* clone() const { return new Method$num(*this); } - bool operator==(const Method$num& f) const + bool operator==(const Method$num& f) const throw() { return _obj == f._obj && _funcPtr == f._funcPtr; } private: @@ -197,7 +198,7 @@ public: typedef void (_ObjT::*FuncPtr)($argtypes); - Method$num(_ObjT* obj, FuncPtr ptr) + Method$num(_ObjT* obj, FuncPtr ptr) throw() : _obj(obj), _funcPtr(ptr) { } void exec($argtypeswname) const @@ -206,7 +207,7 @@ Callback$num<void, $argtypes>* clone() const { return new Method$num(*this); } - bool operator==(const Method$num& f) const + bool operator==(const Method$num& f) const throw() { return _obj == f._obj && _funcPtr == f._funcPtr; } private: @@ -216,7 +217,8 @@ //! Returns a method-callback object template <typename _RetT, class _ObjT, $templateargs> -Method$num<_RetT, _ObjT, $argtypes> make_method(_ObjT* obj, _RetT (_ObjT::*ptr)($argtypes)) +Method$num<_RetT, _ObjT, $argtypes> +make_method(_ObjT* obj, _RetT (_ObjT::*ptr)($argtypes)) throw() { return Method$num<_RetT, _ObjT, $argtypes>(obj, ptr); } } // !namespace P Index: Callback.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/Callback.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Callback.h 1 Feb 2005 16:45:17 -0000 1.6 +++ Callback.h 2 Feb 2005 15:54:42 -0000 1.7 @@ -27,11 +27,10 @@ class CallbackArgs { public: - CallbackArgs(int numArgs) : _numArgs(numArgs) { } - virtual ~CallbackArgs() { } + CallbackArgs(int numArgs) throw(); + virtual ~CallbackArgs() throw(); - int numArgs() const throw() - { return _numArgs; } + int numArgs() const throw(); virtual CallbackArgs* clone() const = 0; @@ -44,8 +43,8 @@ public: struct RetType { }; - Callback() { } - virtual ~Callback() { } + Callback() throw(); + virtual ~Callback() throw(); virtual Callback* clone() const = 0; virtual RetType exec(const CallbackArgs& args) const = 0; @@ -56,12 +55,12 @@ //! Callback arguments with no arguments class CallbackArgs0: public CallbackArgs { public: - CallbackArgs0() : CallbackArgs(0) { } - - CallbackArgs* clone() const - { return new CallbackArgs0(*this); } + CallbackArgs0() throw(); + CallbackArgs* clone() const; }; +CallbackArgs0 make_args(); + //! Callback base class with no arguments template <typename _RetT> class Callback0: public Callback { @@ -69,8 +68,8 @@ typedef CallbackArgs0 Args; struct RetType: public Callback::RetType { _RetT retVal; }; - Callback0() { } - virtual ~Callback0() { } + Callback0() throw() { } + virtual ~Callback0() throw() { } Callback::RetType exec(const CallbackArgs& args) const { @@ -92,8 +91,8 @@ typedef CallbackArgs0 Args; struct RetType: public Callback::RetType { }; - Callback0() { } - virtual ~Callback0() { } + Callback0() throw() { } + virtual ~Callback0() throw() { } Callback::RetType exec(const CallbackArgs& args) const { @@ -115,7 +114,7 @@ public: typedef _RetT (*FuncPtr)(); - Function0(FuncPtr ptr) + Function0(FuncPtr ptr) throw() : _funcPtr(ptr) { } _RetT exec() const @@ -124,7 +123,7 @@ Callback0<_RetT>* clone() const { return new Function0(*this); } - bool operator==(const Function0& f) const + bool operator==(const Function0& f) const throw() { return _funcPtr == f._funcPtr; } private: @@ -137,7 +136,7 @@ public: typedef void (*FuncPtr)(); - Function0(FuncPtr ptr) + Function0(FuncPtr ptr) throw() : _funcPtr(ptr) { } void exec() const @@ -146,7 +145,7 @@ Callback0<void>* clone() const { return new Function0(*this); } - bool operator==(const Function0& f) const + bool operator==(const Function0& f) const throw() { return _funcPtr == f._funcPtr; } private: @@ -155,7 +154,7 @@ //! Returns a function-callback object template <typename _RetT> -Function0<_RetT> make_function(_RetT (*ptr)()) +Function0<_RetT> make_function(_RetT (*ptr)()) throw() { return Function0<_RetT>(ptr); } /* ----------------- Method0 ------------------ */ @@ -166,7 +165,7 @@ public: typedef _RetT (ObjT::*FuncPtr)(); - Method0(ObjT* obj, FuncPtr ptr) + Method0(ObjT* obj, FuncPtr ptr) throw() : _obj(obj), _funcPtr(ptr) { } _RetT exec() const @@ -175,7 +174,7 @@ Callback0<_RetT>* clone() const { return new Method0(*this); } - bool operator==(const Method0& f) const + bool operator==(const Method0& f) const throw() { return _obj == f._obj && _funcPtr == f._funcPtr; } private: @@ -189,7 +188,7 @@ public: typedef void (ObjT::*FuncPtr)(); - Method0(ObjT* obj, FuncPtr ptr) + Method0(ObjT* obj, FuncPtr ptr) throw() : _obj(obj), _funcPtr(ptr) { } void exec() const @@ -198,7 +197,7 @@ Callback0<void>* clone() const { return new Method0(*this); } - bool operator==(const Method0& f) const + bool operator==(const Method0& f) const throw() { return _obj == f._obj && _funcPtr == f._funcPtr; } private: @@ -208,7 +207,7 @@ //! Returns a method-callback object template <typename _RetT, class _ObjT> -Method0<_RetT,_ObjT> make_method(_ObjT* obj, _RetT (_ObjT::*ptr)()) +Method0<_RetT,_ObjT> make_method(_ObjT* obj, _RetT (_ObjT::*ptr)()) throw() { return Method0<_RetT,_ObjT>(obj, ptr); } } // !namespace P |