/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "RefCounted.h" class RefCountTaskWrapper : public gmp_args_base { public: RefCountTaskWrapper(GMPTask* aTask, RefCounted* aRefCounted) : mTask(aTask) , mRefCounted(aRefCounted) {} virtual void Run() { mTask->Run(); } virtual void Destroy() { mTask->Destroy(); gmp_args_base::Destroy(); } private: ~RefCountTaskWrapper() {} GMPTask* mTask; RefPtr mRefCounted; }; // 0 arguments -- template class gmp_args_nm_0 : public gmp_args_base { public: gmp_args_nm_0 (M m) : m_ (m) {} void Run() { m_ (); } private: M m_; }; // 0 arguments -- template class gmp_args_nm_0_ret : public gmp_args_base { public: gmp_args_nm_0_ret (M m, R* r) : m_ (m), r_ (r) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (); } private: M m_; R* r_; }; // 0 arguments -- template class gmp_args_m_0 : public gmp_args_base { public: gmp_args_m_0 (C o, M m) : o_ (o), m_ (m) {} void Run() { ((*o_).*m_) (); } private: C o_; M m_; }; // 0 arguments -- template class gmp_args_m_0_ret : public gmp_args_base { public: gmp_args_m_0_ret (C o, M m, R* r) : o_ (o), m_ (m), r_ (r) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (); } private: C o_; M m_; R* r_; }; // 1 arguments -- template class gmp_args_nm_1 : public gmp_args_base { public: gmp_args_nm_1 (M m, A0 a0) : m_ (m), a0_ (a0) {} void Run() { m_ (a0_); } private: M m_; A0 a0_; }; // 1 arguments -- template class gmp_args_nm_1_ret : public gmp_args_base { public: gmp_args_nm_1_ret (M m, A0 a0, R* r) : m_ (m), r_ (r), a0_ (a0) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_); } private: M m_; R* r_; A0 a0_; }; // 1 arguments -- template class gmp_args_m_1 : public gmp_args_base { public: gmp_args_m_1 (C o, M m, A0 a0) : o_ (o), m_ (m), a0_ (a0) {} void Run() { ((*o_).*m_) (a0_); } private: C o_; M m_; A0 a0_; }; // 1 arguments -- template class gmp_args_m_1_ret : public gmp_args_base { public: gmp_args_m_1_ret (C o, M m, A0 a0, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_); } private: C o_; M m_; R* r_; A0 a0_; }; // 2 arguments -- template class gmp_args_nm_2 : public gmp_args_base { public: gmp_args_nm_2 (M m, A0 a0, A1 a1) : m_ (m), a0_ (a0), a1_ (a1) {} void Run() { m_ (a0_, a1_); } private: M m_; A0 a0_; A1 a1_; }; // 2 arguments -- template class gmp_args_nm_2_ret : public gmp_args_base { public: gmp_args_nm_2_ret (M m, A0 a0, A1 a1, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_); } private: M m_; R* r_; A0 a0_; A1 a1_; }; // 2 arguments -- template class gmp_args_m_2 : public gmp_args_base { public: gmp_args_m_2 (C o, M m, A0 a0, A1 a1) : o_ (o), m_ (m), a0_ (a0), a1_ (a1) {} void Run() { ((*o_).*m_) (a0_, a1_); } private: C o_; M m_; A0 a0_; A1 a1_; }; // 2 arguments -- template class gmp_args_m_2_ret : public gmp_args_base { public: gmp_args_m_2_ret (C o, M m, A0 a0, A1 a1, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; }; // 3 arguments -- template class gmp_args_nm_3 : public gmp_args_base { public: gmp_args_nm_3 (M m, A0 a0, A1 a1, A2 a2) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2) {} void Run() { m_ (a0_, a1_, a2_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; }; // 3 arguments -- template class gmp_args_nm_3_ret : public gmp_args_base { public: gmp_args_nm_3_ret (M m, A0 a0, A1 a1, A2 a2, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; }; // 3 arguments -- template class gmp_args_m_3 : public gmp_args_base { public: gmp_args_m_3 (C o, M m, A0 a0, A1 a1, A2 a2) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; }; // 3 arguments -- template class gmp_args_m_3_ret : public gmp_args_base { public: gmp_args_m_3_ret (C o, M m, A0 a0, A1 a1, A2 a2, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; }; // 4 arguments -- template class gmp_args_nm_4 : public gmp_args_base { public: gmp_args_nm_4 (M m, A0 a0, A1 a1, A2 a2, A3 a3) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {} void Run() { m_ (a0_, a1_, a2_, a3_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; }; // 4 arguments -- template class gmp_args_nm_4_ret : public gmp_args_base { public: gmp_args_nm_4_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; }; // 4 arguments -- template class gmp_args_m_4 : public gmp_args_base { public: gmp_args_m_4 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; }; // 4 arguments -- template class gmp_args_m_4_ret : public gmp_args_base { public: gmp_args_m_4_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; }; // 5 arguments -- template class gmp_args_nm_5 : public gmp_args_base { public: gmp_args_nm_5 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; }; // 5 arguments -- template class gmp_args_nm_5_ret : public gmp_args_base { public: gmp_args_nm_5_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; }; // 5 arguments -- template class gmp_args_m_5 : public gmp_args_base { public: gmp_args_m_5 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; }; // 5 arguments -- template class gmp_args_m_5_ret : public gmp_args_base { public: gmp_args_m_5_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; }; // 6 arguments -- template class gmp_args_nm_6 : public gmp_args_base { public: gmp_args_nm_6 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; }; // 6 arguments -- template class gmp_args_nm_6_ret : public gmp_args_base { public: gmp_args_nm_6_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; }; // 6 arguments -- template class gmp_args_m_6 : public gmp_args_base { public: gmp_args_m_6 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; }; // 6 arguments -- template class gmp_args_m_6_ret : public gmp_args_base { public: gmp_args_m_6_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; }; // 7 arguments -- template class gmp_args_nm_7 : public gmp_args_base { public: gmp_args_nm_7 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; }; // 7 arguments -- template class gmp_args_nm_7_ret : public gmp_args_base { public: gmp_args_nm_7_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; }; // 7 arguments -- template class gmp_args_m_7 : public gmp_args_base { public: gmp_args_m_7 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; }; // 7 arguments -- template class gmp_args_m_7_ret : public gmp_args_base { public: gmp_args_m_7_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; }; // 8 arguments -- template class gmp_args_nm_8 : public gmp_args_base { public: gmp_args_nm_8 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; }; // 8 arguments -- template class gmp_args_nm_8_ret : public gmp_args_base { public: gmp_args_nm_8_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; }; // 8 arguments -- template class gmp_args_m_8 : public gmp_args_base { public: gmp_args_m_8 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; }; // 8 arguments -- template class gmp_args_m_8_ret : public gmp_args_base { public: gmp_args_m_8_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; }; // 9 arguments -- template class gmp_args_nm_9 : public gmp_args_base { public: gmp_args_nm_9 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; }; // 9 arguments -- template class gmp_args_nm_9_ret : public gmp_args_base { public: gmp_args_nm_9_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; }; // 9 arguments -- template class gmp_args_m_9 : public gmp_args_base { public: gmp_args_m_9 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; }; // 9 arguments -- template class gmp_args_m_9_ret : public gmp_args_base { public: gmp_args_m_9_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; }; // 10 arguments -- template class gmp_args_nm_10 : public gmp_args_base { public: gmp_args_nm_10 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; }; // 10 arguments -- template class gmp_args_nm_10_ret : public gmp_args_base { public: gmp_args_nm_10_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; }; // 10 arguments -- template class gmp_args_m_10 : public gmp_args_base { public: gmp_args_m_10 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; }; // 10 arguments -- template class gmp_args_m_10_ret : public gmp_args_base { public: gmp_args_m_10_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; }; // 11 arguments -- template class gmp_args_nm_11 : public gmp_args_base { public: gmp_args_nm_11 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; }; // 11 arguments -- template class gmp_args_nm_11_ret : public gmp_args_base { public: gmp_args_nm_11_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; }; // 11 arguments -- template class gmp_args_m_11 : public gmp_args_base { public: gmp_args_m_11 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; }; // 11 arguments -- template class gmp_args_m_11_ret : public gmp_args_base { public: gmp_args_m_11_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; }; // 12 arguments -- template class gmp_args_nm_12 : public gmp_args_base { public: gmp_args_nm_12 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; }; // 12 arguments -- template class gmp_args_nm_12_ret : public gmp_args_base { public: gmp_args_nm_12_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; }; // 12 arguments -- template class gmp_args_m_12 : public gmp_args_base { public: gmp_args_m_12 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; }; // 12 arguments -- template class gmp_args_m_12_ret : public gmp_args_base { public: gmp_args_m_12_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; }; // 13 arguments -- template class gmp_args_nm_13 : public gmp_args_base { public: gmp_args_nm_13 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; A12 a12_; }; // 13 arguments -- template class gmp_args_nm_13_ret : public gmp_args_base { public: gmp_args_nm_13_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; A12 a12_; }; // 13 arguments -- template class gmp_args_m_13 : public gmp_args_base { public: gmp_args_m_13 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; A12 a12_; }; // 13 arguments -- template class gmp_args_m_13_ret : public gmp_args_base { public: gmp_args_m_13_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; A12 a12_; }; // 14 arguments -- template class gmp_args_nm_14 : public gmp_args_base { public: gmp_args_nm_14 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) : m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12), a13_ (a13) {} void Run() { m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_); } private: M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; A12 a12_; A13 a13_; }; // 14 arguments -- template class gmp_args_nm_14_ret : public gmp_args_base { public: gmp_args_nm_14_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R* r) : m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12), a13_ (a13) {} virtual bool returns_value() const { return true; } void Run() { *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_); } private: M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; A12 a12_; A13 a13_; }; // 14 arguments -- template class gmp_args_m_14 : public gmp_args_base { public: gmp_args_m_14 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) : o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12), a13_ (a13) {} void Run() { ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_); } private: C o_; M m_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; A12 a12_; A13 a13_; }; // 14 arguments -- template class gmp_args_m_14_ret : public gmp_args_base { public: gmp_args_m_14_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R* r) : o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10), a11_ (a11), a12_ (a12), a13_ (a13) {} virtual bool returns_value() const { return true; } void Run() { *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_); } private: C o_; M m_; R* r_; A0 a0_; A1 a1_; A2 a2_; A3 a3_; A4 a4_; A5 a5_; A6 a6_; A7 a7_; A8 a8_; A9 a9_; A10 a10_; A11 a11_; A12 a12_; A13 a13_; }; // 0 arguments -- template gmp_args_nm_0* WrapTaskNM (M m) { return new gmp_args_nm_0 (m); } // 0 arguments -- template gmp_args_nm_0_ret* WrapTaskNMRet (M m, R* r) { return new gmp_args_nm_0_ret (m, r); } // 0 arguments -- template gmp_args_m_0* WrapTask (C o, M m) { return new gmp_args_m_0 (o, m); } template GMPTask* WrapTaskRefCounted (C o, M m) { GMPTask *t = WrapTask (o, m); return new RefCountTaskWrapper(t, o); } // 0 arguments -- template gmp_args_m_0_ret* WrapTaskRet (C o, M m, R* r) { return new gmp_args_m_0_ret (o, m, r); } // 1 arguments -- template gmp_args_nm_1* WrapTaskNM (M m, A0 a0) { return new gmp_args_nm_1 (m, a0); } // 1 arguments -- template gmp_args_nm_1_ret* WrapTaskNMRet (M m, A0 a0, R* r) { return new gmp_args_nm_1_ret (m, a0, r); } // 1 arguments -- template gmp_args_m_1* WrapTask (C o, M m, A0 a0) { return new gmp_args_m_1 (o, m, a0); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0) { GMPTask *t = WrapTask (o, m, a0); return new RefCountTaskWrapper(t, o); } // 1 arguments -- template gmp_args_m_1_ret* WrapTaskRet (C o, M m, A0 a0, R* r) { return new gmp_args_m_1_ret (o, m, a0, r); } // 2 arguments -- template gmp_args_nm_2* WrapTaskNM (M m, A0 a0, A1 a1) { return new gmp_args_nm_2 (m, a0, a1); } // 2 arguments -- template gmp_args_nm_2_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, R* r) { return new gmp_args_nm_2_ret (m, a0, a1, r); } // 2 arguments -- template gmp_args_m_2* WrapTask (C o, M m, A0 a0, A1 a1) { return new gmp_args_m_2 (o, m, a0, a1); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1) { GMPTask *t = WrapTask (o, m, a0, a1); return new RefCountTaskWrapper(t, o); } // 2 arguments -- template gmp_args_m_2_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, R* r) { return new gmp_args_m_2_ret (o, m, a0, a1, r); } // 3 arguments -- template gmp_args_nm_3* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2) { return new gmp_args_nm_3 (m, a0, a1, a2); } // 3 arguments -- template gmp_args_nm_3_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, R* r) { return new gmp_args_nm_3_ret (m, a0, a1, a2, r); } // 3 arguments -- template gmp_args_m_3* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2) { return new gmp_args_m_3 (o, m, a0, a1, a2); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2) { GMPTask *t = WrapTask (o, m, a0, a1, a2); return new RefCountTaskWrapper(t, o); } // 3 arguments -- template gmp_args_m_3_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, R* r) { return new gmp_args_m_3_ret (o, m, a0, a1, a2, r); } // 4 arguments -- template gmp_args_nm_4* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3) { return new gmp_args_nm_4 (m, a0, a1, a2, a3); } // 4 arguments -- template gmp_args_nm_4_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) { return new gmp_args_nm_4_ret (m, a0, a1, a2, a3, r); } // 4 arguments -- template gmp_args_m_4* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) { return new gmp_args_m_4 (o, m, a0, a1, a2, a3); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3); return new RefCountTaskWrapper(t, o); } // 4 arguments -- template gmp_args_m_4_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) { return new gmp_args_m_4_ret (o, m, a0, a1, a2, a3, r); } // 5 arguments -- template gmp_args_nm_5* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { return new gmp_args_nm_5 (m, a0, a1, a2, a3, a4); } // 5 arguments -- template gmp_args_nm_5_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) { return new gmp_args_nm_5_ret (m, a0, a1, a2, a3, a4, r); } // 5 arguments -- template gmp_args_m_5* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { return new gmp_args_m_5 (o, m, a0, a1, a2, a3, a4); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4); return new RefCountTaskWrapper(t, o); } // 5 arguments -- template gmp_args_m_5_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) { return new gmp_args_m_5_ret (o, m, a0, a1, a2, a3, a4, r); } // 6 arguments -- template gmp_args_nm_6* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { return new gmp_args_nm_6 (m, a0, a1, a2, a3, a4, a5); } // 6 arguments -- template gmp_args_nm_6_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) { return new gmp_args_nm_6_ret (m, a0, a1, a2, a3, a4, a5, r); } // 6 arguments -- template gmp_args_m_6* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { return new gmp_args_m_6 (o, m, a0, a1, a2, a3, a4, a5); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5); return new RefCountTaskWrapper(t, o); } // 6 arguments -- template gmp_args_m_6_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) { return new gmp_args_m_6_ret (o, m, a0, a1, a2, a3, a4, a5, r); } // 7 arguments -- template gmp_args_nm_7* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { return new gmp_args_nm_7 (m, a0, a1, a2, a3, a4, a5, a6); } // 7 arguments -- template gmp_args_nm_7_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) { return new gmp_args_nm_7_ret (m, a0, a1, a2, a3, a4, a5, a6, r); } // 7 arguments -- template gmp_args_m_7* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { return new gmp_args_m_7 (o, m, a0, a1, a2, a3, a4, a5, a6); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6); return new RefCountTaskWrapper(t, o); } // 7 arguments -- template gmp_args_m_7_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) { return new gmp_args_m_7_ret (o, m, a0, a1, a2, a3, a4, a5, a6, r); } // 8 arguments -- template gmp_args_nm_8* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { return new gmp_args_nm_8 (m, a0, a1, a2, a3, a4, a5, a6, a7); } // 8 arguments -- template gmp_args_nm_8_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) { return new gmp_args_nm_8_ret (m, a0, a1, a2, a3, a4, a5, a6, a7, r); } // 8 arguments -- template gmp_args_m_8* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { return new gmp_args_m_8 (o, m, a0, a1, a2, a3, a4, a5, a6, a7); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7); return new RefCountTaskWrapper(t, o); } // 8 arguments -- template gmp_args_m_8_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) { return new gmp_args_m_8_ret (o, m, a0, a1, a2, a3, a4, a5, a6, a7, r); } // 9 arguments -- template gmp_args_nm_9* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { return new gmp_args_nm_9 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8); } // 9 arguments -- template gmp_args_nm_9_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) { return new gmp_args_nm_9_ret (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r); } // 9 arguments -- template gmp_args_m_9* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { return new gmp_args_m_9 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8); return new RefCountTaskWrapper(t, o); } // 9 arguments -- template gmp_args_m_9_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) { return new gmp_args_m_9_ret (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r); } // 10 arguments -- template gmp_args_nm_10* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { return new gmp_args_nm_10 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } // 10 arguments -- template gmp_args_nm_10_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) { return new gmp_args_nm_10_ret (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r); } // 10 arguments -- template gmp_args_m_10* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { return new gmp_args_m_10 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); return new RefCountTaskWrapper(t, o); } // 10 arguments -- template gmp_args_m_10_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) { return new gmp_args_m_10_ret (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r); } // 11 arguments -- template gmp_args_nm_11* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) { return new gmp_args_nm_11 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); } // 11 arguments -- template gmp_args_nm_11_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) { return new gmp_args_nm_11_ret (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r); } // 11 arguments -- template gmp_args_m_11* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) { return new gmp_args_m_11 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); return new RefCountTaskWrapper(t, o); } // 11 arguments -- template gmp_args_m_11_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, R* r) { return new gmp_args_m_11_ret (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r); } // 12 arguments -- template gmp_args_nm_12* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) { return new gmp_args_nm_12 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); } // 12 arguments -- template gmp_args_nm_12_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) { return new gmp_args_nm_12_ret (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r); } // 12 arguments -- template gmp_args_m_12* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) { return new gmp_args_m_12 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11); return new RefCountTaskWrapper(t, o); } // 12 arguments -- template gmp_args_m_12_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, R* r) { return new gmp_args_m_12_ret (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r); } // 13 arguments -- template gmp_args_nm_13* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) { return new gmp_args_nm_13 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); } // 13 arguments -- template gmp_args_nm_13_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R* r) { return new gmp_args_nm_13_ret (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r); } // 13 arguments -- template gmp_args_m_13* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) { return new gmp_args_m_13 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12); return new RefCountTaskWrapper(t, o); } // 13 arguments -- template gmp_args_m_13_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, R* r) { return new gmp_args_m_13_ret (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r); } // 14 arguments -- template gmp_args_nm_14* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) { return new gmp_args_nm_14 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); } // 14 arguments -- template gmp_args_nm_14_ret* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R* r) { return new gmp_args_nm_14_ret (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r); } // 14 arguments -- template gmp_args_m_14* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) { return new gmp_args_m_14 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); } template GMPTask* WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) { GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); return new RefCountTaskWrapper(t, o); } // 14 arguments -- template gmp_args_m_14_ret* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, R* r) { return new gmp_args_m_14_ret (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r); }