/**************************************************************************** ** ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the Coroutine library. ** ****************************************************************************/ // Generated code, do not edit! Use generator at tools/generatebuild/ #ifndef COROUTINE_STOREDFUNCTIONCALL_H #define COROUTINE_STOREDFUNCTIONCALL_H template struct StoredFunctorCall0: public Coroutine { inline StoredFunctorCall0(FunctionPointer function) : function(function) {} protected: virtual void run() { function(); } FunctionPointer function; }; template struct StoredFunctorPointerCall0: public Coroutine { inline StoredFunctorPointerCall0(FunctionPointer * function) : function(function) {} protected: virtual void run() { (*function)(); } FunctionPointer * function; }; template class StoredMemberFunctionCall0 : public Coroutine { public: StoredMemberFunctionCall0(void (Class::*fn)() , const Class &object) : fn(fn), object(object){ } protected: virtual void run() { (object.*fn)(); } private: void (Class::*fn)(); Class object; }; template class StoredConstMemberFunctionCall0 : public Coroutine { public: StoredConstMemberFunctionCall0(void (Class::*fn)() const, const Class &object) : fn(fn), object(object){ } protected: virtual void run() { (object.*fn)(); } private: void (Class::*fn)()const; const Class object; }; template class StoredMemberFunctionPointerCall0 : public Coroutine { public: StoredMemberFunctionPointerCall0(void (Class::*fn)() , Class *object) : fn(fn), object(object){ } protected: virtual void run() { (object->*fn)(); } private: void (Class::*fn)(); Class *object; }; template class StoredConstMemberFunctionPointerCall0 : public Coroutine { public: StoredConstMemberFunctionPointerCall0(void (Class::*fn)() const, Class const *object) : fn(fn), object(object){ } protected: virtual void run() { (object->*fn)(); } private: void (Class::*fn)()const; Class const *object; }; template struct StoredFunctorCall1: public Coroutine { inline StoredFunctorCall1(FunctionPointer function, const Arg1 &arg1) : function(function), arg1(arg1) {} protected: virtual void run() { function(arg1); } FunctionPointer function; Arg1 arg1; }; template struct StoredFunctorPointerCall1: public Coroutine { inline StoredFunctorPointerCall1(FunctionPointer * function, const Arg1 &arg1) : function(function), arg1(arg1) {} protected: virtual void run() { (*function)(arg1); } FunctionPointer * function; Arg1 arg1; }; template class StoredMemberFunctionCall1 : public Coroutine { public: StoredMemberFunctionCall1(void (Class::*fn)(Param1) , const Class &object, const Arg1 &arg1) : fn(fn), object(object), arg1(arg1){ } protected: virtual void run() { (object.*fn)(arg1); } private: void (Class::*fn)(Param1); Class object; Arg1 arg1; }; template class StoredConstMemberFunctionCall1 : public Coroutine { public: StoredConstMemberFunctionCall1(void (Class::*fn)(Param1) const, const Class &object, const Arg1 &arg1) : fn(fn), object(object), arg1(arg1){ } protected: virtual void run() { (object.*fn)(arg1); } private: void (Class::*fn)(Param1)const; const Class object; Arg1 arg1; }; template class StoredMemberFunctionPointerCall1 : public Coroutine { public: StoredMemberFunctionPointerCall1(void (Class::*fn)(Param1) , Class *object, const Arg1 &arg1) : fn(fn), object(object), arg1(arg1){ } protected: virtual void run() { (object->*fn)(arg1); } private: void (Class::*fn)(Param1); Class *object; Arg1 arg1; }; template class StoredConstMemberFunctionPointerCall1 : public Coroutine { public: StoredConstMemberFunctionPointerCall1(void (Class::*fn)(Param1) const, Class const *object, const Arg1 &arg1) : fn(fn), object(object), arg1(arg1){ } protected: virtual void run() { (object->*fn)(arg1); } private: void (Class::*fn)(Param1)const; Class const *object; Arg1 arg1; }; template struct StoredFunctorCall2: public Coroutine { inline StoredFunctorCall2(FunctionPointer function, const Arg1 &arg1, const Arg2 &arg2) : function(function), arg1(arg1), arg2(arg2) {} protected: virtual void run() { function(arg1, arg2); } FunctionPointer function; Arg1 arg1; Arg2 arg2; }; template struct StoredFunctorPointerCall2: public Coroutine { inline StoredFunctorPointerCall2(FunctionPointer * function, const Arg1 &arg1, const Arg2 &arg2) : function(function), arg1(arg1), arg2(arg2) {} protected: virtual void run() { (*function)(arg1, arg2); } FunctionPointer * function; Arg1 arg1; Arg2 arg2; }; template class StoredMemberFunctionCall2 : public Coroutine { public: StoredMemberFunctionCall2(void (Class::*fn)(Param1, Param2) , const Class &object, const Arg1 &arg1, const Arg2 &arg2) : fn(fn), object(object), arg1(arg1), arg2(arg2){ } protected: virtual void run() { (object.*fn)(arg1, arg2); } private: void (Class::*fn)(Param1, Param2); Class object; Arg1 arg1; Arg2 arg2; }; template class StoredConstMemberFunctionCall2 : public Coroutine { public: StoredConstMemberFunctionCall2(void (Class::*fn)(Param1, Param2) const, const Class &object, const Arg1 &arg1, const Arg2 &arg2) : fn(fn), object(object), arg1(arg1), arg2(arg2){ } protected: virtual void run() { (object.*fn)(arg1, arg2); } private: void (Class::*fn)(Param1, Param2)const; const Class object; Arg1 arg1; Arg2 arg2; }; template class StoredMemberFunctionPointerCall2 : public Coroutine { public: StoredMemberFunctionPointerCall2(void (Class::*fn)(Param1, Param2) , Class *object, const Arg1 &arg1, const Arg2 &arg2) : fn(fn), object(object), arg1(arg1), arg2(arg2){ } protected: virtual void run() { (object->*fn)(arg1, arg2); } private: void (Class::*fn)(Param1, Param2); Class *object; Arg1 arg1; Arg2 arg2; }; template class StoredConstMemberFunctionPointerCall2 : public Coroutine { public: StoredConstMemberFunctionPointerCall2(void (Class::*fn)(Param1, Param2) const, Class const *object, const Arg1 &arg1, const Arg2 &arg2) : fn(fn), object(object), arg1(arg1), arg2(arg2){ } protected: virtual void run() { (object->*fn)(arg1, arg2); } private: void (Class::*fn)(Param1, Param2)const; Class const *object; Arg1 arg1; Arg2 arg2; }; template struct StoredFunctorCall3: public Coroutine { inline StoredFunctorCall3(FunctionPointer function, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) : function(function), arg1(arg1), arg2(arg2), arg3(arg3) {} protected: virtual void run() { function(arg1, arg2, arg3); } FunctionPointer function; Arg1 arg1; Arg2 arg2; Arg3 arg3; }; template struct StoredFunctorPointerCall3: public Coroutine { inline StoredFunctorPointerCall3(FunctionPointer * function, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) : function(function), arg1(arg1), arg2(arg2), arg3(arg3) {} protected: virtual void run() { (*function)(arg1, arg2, arg3); } FunctionPointer * function; Arg1 arg1; Arg2 arg2; Arg3 arg3; }; template class StoredMemberFunctionCall3 : public Coroutine { public: StoredMemberFunctionCall3(void (Class::*fn)(Param1, Param2, Param3) , const Class &object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3){ } protected: virtual void run() { (object.*fn)(arg1, arg2, arg3); } private: void (Class::*fn)(Param1, Param2, Param3); Class object; Arg1 arg1; Arg2 arg2; Arg3 arg3; }; template class StoredConstMemberFunctionCall3 : public Coroutine { public: StoredConstMemberFunctionCall3(void (Class::*fn)(Param1, Param2, Param3) const, const Class &object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3){ } protected: virtual void run() { (object.*fn)(arg1, arg2, arg3); } private: void (Class::*fn)(Param1, Param2, Param3)const; const Class object; Arg1 arg1; Arg2 arg2; Arg3 arg3; }; template class StoredMemberFunctionPointerCall3 : public Coroutine { public: StoredMemberFunctionPointerCall3(void (Class::*fn)(Param1, Param2, Param3) , Class *object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3){ } protected: virtual void run() { (object->*fn)(arg1, arg2, arg3); } private: void (Class::*fn)(Param1, Param2, Param3); Class *object; Arg1 arg1; Arg2 arg2; Arg3 arg3; }; template class StoredConstMemberFunctionPointerCall3 : public Coroutine { public: StoredConstMemberFunctionPointerCall3(void (Class::*fn)(Param1, Param2, Param3) const, Class const *object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3){ } protected: virtual void run() { (object->*fn)(arg1, arg2, arg3); } private: void (Class::*fn)(Param1, Param2, Param3)const; Class const *object; Arg1 arg1; Arg2 arg2; Arg3 arg3; }; template struct StoredFunctorCall4: public Coroutine { inline StoredFunctorCall4(FunctionPointer function, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) : function(function), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4) {} protected: virtual void run() { function(arg1, arg2, arg3, arg4); } FunctionPointer function; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; }; template struct StoredFunctorPointerCall4: public Coroutine { inline StoredFunctorPointerCall4(FunctionPointer * function, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) : function(function), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4) {} protected: virtual void run() { (*function)(arg1, arg2, arg3, arg4); } FunctionPointer * function; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; }; template class StoredMemberFunctionCall4 : public Coroutine { public: StoredMemberFunctionCall4(void (Class::*fn)(Param1, Param2, Param3, Param4) , const Class &object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4){ } protected: virtual void run() { (object.*fn)(arg1, arg2, arg3, arg4); } private: void (Class::*fn)(Param1, Param2, Param3, Param4); Class object; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; }; template class StoredConstMemberFunctionCall4 : public Coroutine { public: StoredConstMemberFunctionCall4(void (Class::*fn)(Param1, Param2, Param3, Param4) const, const Class &object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4){ } protected: virtual void run() { (object.*fn)(arg1, arg2, arg3, arg4); } private: void (Class::*fn)(Param1, Param2, Param3, Param4)const; const Class object; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; }; template class StoredMemberFunctionPointerCall4 : public Coroutine { public: StoredMemberFunctionPointerCall4(void (Class::*fn)(Param1, Param2, Param3, Param4) , Class *object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4){ } protected: virtual void run() { (object->*fn)(arg1, arg2, arg3, arg4); } private: void (Class::*fn)(Param1, Param2, Param3, Param4); Class *object; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; }; template class StoredConstMemberFunctionPointerCall4 : public Coroutine { public: StoredConstMemberFunctionPointerCall4(void (Class::*fn)(Param1, Param2, Param3, Param4) const, Class const *object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4){ } protected: virtual void run() { (object->*fn)(arg1, arg2, arg3, arg4); } private: void (Class::*fn)(Param1, Param2, Param3, Param4)const; Class const *object; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; }; template struct StoredFunctorCall5: public Coroutine { inline StoredFunctorCall5(FunctionPointer function, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) : function(function), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4), arg5(arg5) {} protected: virtual void run() { function(arg1, arg2, arg3, arg4, arg5); } FunctionPointer function; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; }; template struct StoredFunctorPointerCall5: public Coroutine { inline StoredFunctorPointerCall5(FunctionPointer * function, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) : function(function), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4), arg5(arg5) {} protected: virtual void run() { (*function)(arg1, arg2, arg3, arg4, arg5); } FunctionPointer * function; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; }; template class StoredMemberFunctionCall5 : public Coroutine { public: StoredMemberFunctionCall5(void (Class::*fn)(Param1, Param2, Param3, Param4, Param5) , const Class &object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4), arg5(arg5){ } protected: virtual void run() { (object.*fn)(arg1, arg2, arg3, arg4, arg5); } private: void (Class::*fn)(Param1, Param2, Param3, Param4, Param5); Class object; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; }; template class StoredConstMemberFunctionCall5 : public Coroutine { public: StoredConstMemberFunctionCall5(void (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const, const Class &object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4), arg5(arg5){ } protected: virtual void run() { (object.*fn)(arg1, arg2, arg3, arg4, arg5); } private: void (Class::*fn)(Param1, Param2, Param3, Param4, Param5)const; const Class object; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; }; template class StoredMemberFunctionPointerCall5 : public Coroutine { public: StoredMemberFunctionPointerCall5(void (Class::*fn)(Param1, Param2, Param3, Param4, Param5) , Class *object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4), arg5(arg5){ } protected: virtual void run() { (object->*fn)(arg1, arg2, arg3, arg4, arg5); } private: void (Class::*fn)(Param1, Param2, Param3, Param4, Param5); Class *object; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; }; template class StoredConstMemberFunctionPointerCall5 : public Coroutine { public: StoredConstMemberFunctionPointerCall5(void (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const, Class const *object, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5) : fn(fn), object(object), arg1(arg1), arg2(arg2), arg3(arg3), arg4(arg4), arg5(arg5){ } protected: virtual void run() { (object->*fn)(arg1, arg2, arg3, arg4, arg5); } private: void (Class::*fn)(Param1, Param2, Param3, Param4, Param5)const; Class const *object; Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5; }; #endif