1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5
6 #include "RefCounted.h"
7
8
9 class RefCountTaskWrapper : public gmp_args_base {
10 public:
RefCountTaskWrapper(GMPTask * aTask,RefCounted * aRefCounted)11 RefCountTaskWrapper(GMPTask* aTask, RefCounted* aRefCounted)
12 : mTask(aTask)
13 , mRefCounted(aRefCounted)
14 {}
Run()15 virtual void Run() {
16 mTask->Run();
17 }
Destroy()18 virtual void Destroy() {
19 mTask->Destroy();
20 gmp_args_base::Destroy();
21 }
22 private:
~RefCountTaskWrapper()23 ~RefCountTaskWrapper() {}
24
25 GMPTask* mTask;
26 RefPtr<RefCounted> mRefCounted;
27 };
28
29
30 // 0 arguments --
31 template<typename M> class gmp_args_nm_0 : public gmp_args_base {
32 public:
gmp_args_nm_0(M m)33 gmp_args_nm_0 (M m) :
34 m_ (m) {}
35
Run()36 void Run() {
37 m_ ();
38 }
39
40 private:
41 M m_;
42 };
43
44
45
46 // 0 arguments --
47 template<typename M, typename R> class gmp_args_nm_0_ret : public gmp_args_base {
48 public:
gmp_args_nm_0_ret(M m,R * r)49 gmp_args_nm_0_ret (M m, R* r) :
50 m_ (m), r_ (r) {}
returns_value()51 virtual bool returns_value() const {
52 return true;
53 }
54
Run()55 void Run() {
56 *r_ = m_ ();
57 }
58
59 private:
60 M m_;
61 R* r_;
62 };
63
64
65
66 // 0 arguments --
67 template<typename C, typename M> class gmp_args_m_0 : public gmp_args_base {
68 public:
gmp_args_m_0(C o,M m)69 gmp_args_m_0 (C o, M m) :
70 o_ (o), m_ (m) {}
71
Run()72 void Run() {
73 ((*o_).*m_) ();
74 }
75
76 private:
77 C o_;
78 M m_;
79 };
80
81
82
83 // 0 arguments --
84 template<typename C, typename M, typename R> class gmp_args_m_0_ret : public gmp_args_base {
85 public:
gmp_args_m_0_ret(C o,M m,R * r)86 gmp_args_m_0_ret (C o, M m, R* r) :
87 o_ (o), m_ (m), r_ (r) {}
returns_value()88 virtual bool returns_value() const {
89 return true;
90 }
91
Run()92 void Run() {
93 *r_ = ((*o_).*m_) ();
94 }
95
96 private:
97 C o_;
98 M m_;
99 R* r_;
100 };
101
102
103
104 // 1 arguments --
105 template<typename M, typename A0> class gmp_args_nm_1 : public gmp_args_base {
106 public:
gmp_args_nm_1(M m,A0 a0)107 gmp_args_nm_1 (M m, A0 a0) :
108 m_ (m), a0_ (a0) {}
109
Run()110 void Run() {
111 m_ (a0_);
112 }
113
114 private:
115 M m_;
116 A0 a0_;
117 };
118
119
120
121 // 1 arguments --
122 template<typename M, typename A0, typename R> class gmp_args_nm_1_ret : public gmp_args_base {
123 public:
gmp_args_nm_1_ret(M m,A0 a0,R * r)124 gmp_args_nm_1_ret (M m, A0 a0, R* r) :
125 m_ (m), r_ (r), a0_ (a0) {}
returns_value()126 virtual bool returns_value() const {
127 return true;
128 }
129
Run()130 void Run() {
131 *r_ = m_ (a0_);
132 }
133
134 private:
135 M m_;
136 R* r_;
137 A0 a0_;
138 };
139
140
141
142 // 1 arguments --
143 template<typename C, typename M, typename A0> class gmp_args_m_1 : public gmp_args_base {
144 public:
gmp_args_m_1(C o,M m,A0 a0)145 gmp_args_m_1 (C o, M m, A0 a0) :
146 o_ (o), m_ (m), a0_ (a0) {}
147
Run()148 void Run() {
149 ((*o_).*m_) (a0_);
150 }
151
152 private:
153 C o_;
154 M m_;
155 A0 a0_;
156 };
157
158
159
160 // 1 arguments --
161 template<typename C, typename M, typename A0, typename R> class gmp_args_m_1_ret : public gmp_args_base {
162 public:
gmp_args_m_1_ret(C o,M m,A0 a0,R * r)163 gmp_args_m_1_ret (C o, M m, A0 a0, R* r) :
164 o_ (o), m_ (m), r_ (r), a0_ (a0) {}
returns_value()165 virtual bool returns_value() const {
166 return true;
167 }
168
Run()169 void Run() {
170 *r_ = ((*o_).*m_) (a0_);
171 }
172
173 private:
174 C o_;
175 M m_;
176 R* r_;
177 A0 a0_;
178 };
179
180
181
182 // 2 arguments --
183 template<typename M, typename A0, typename A1> class gmp_args_nm_2 : public gmp_args_base {
184 public:
gmp_args_nm_2(M m,A0 a0,A1 a1)185 gmp_args_nm_2 (M m, A0 a0, A1 a1) :
186 m_ (m), a0_ (a0), a1_ (a1) {}
187
Run()188 void Run() {
189 m_ (a0_, a1_);
190 }
191
192 private:
193 M m_;
194 A0 a0_;
195 A1 a1_;
196 };
197
198
199
200 // 2 arguments --
201 template<typename M, typename A0, typename A1, typename R> class gmp_args_nm_2_ret : public gmp_args_base {
202 public:
gmp_args_nm_2_ret(M m,A0 a0,A1 a1,R * r)203 gmp_args_nm_2_ret (M m, A0 a0, A1 a1, R* r) :
204 m_ (m), r_ (r), a0_ (a0), a1_ (a1) {}
returns_value()205 virtual bool returns_value() const {
206 return true;
207 }
208
Run()209 void Run() {
210 *r_ = m_ (a0_, a1_);
211 }
212
213 private:
214 M m_;
215 R* r_;
216 A0 a0_;
217 A1 a1_;
218 };
219
220
221
222 // 2 arguments --
223 template<typename C, typename M, typename A0, typename A1> class gmp_args_m_2 : public gmp_args_base {
224 public:
gmp_args_m_2(C o,M m,A0 a0,A1 a1)225 gmp_args_m_2 (C o, M m, A0 a0, A1 a1) :
226 o_ (o), m_ (m), a0_ (a0), a1_ (a1) {}
227
Run()228 void Run() {
229 ((*o_).*m_) (a0_, a1_);
230 }
231
232 private:
233 C o_;
234 M m_;
235 A0 a0_;
236 A1 a1_;
237 };
238
239
240
241 // 2 arguments --
242 template<typename C, typename M, typename A0, typename A1, typename R> class gmp_args_m_2_ret : public gmp_args_base {
243 public:
gmp_args_m_2_ret(C o,M m,A0 a0,A1 a1,R * r)244 gmp_args_m_2_ret (C o, M m, A0 a0, A1 a1, R* r) :
245 o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1) {}
returns_value()246 virtual bool returns_value() const {
247 return true;
248 }
249
Run()250 void Run() {
251 *r_ = ((*o_).*m_) (a0_, a1_);
252 }
253
254 private:
255 C o_;
256 M m_;
257 R* r_;
258 A0 a0_;
259 A1 a1_;
260 };
261
262
263
264 // 3 arguments --
265 template<typename M, typename A0, typename A1, typename A2> class gmp_args_nm_3 : public gmp_args_base {
266 public:
gmp_args_nm_3(M m,A0 a0,A1 a1,A2 a2)267 gmp_args_nm_3 (M m, A0 a0, A1 a1, A2 a2) :
268 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2) {}
269
Run()270 void Run() {
271 m_ (a0_, a1_, a2_);
272 }
273
274 private:
275 M m_;
276 A0 a0_;
277 A1 a1_;
278 A2 a2_;
279 };
280
281
282
283 // 3 arguments --
284 template<typename M, typename A0, typename A1, typename A2, typename R> class gmp_args_nm_3_ret : public gmp_args_base {
285 public:
gmp_args_nm_3_ret(M m,A0 a0,A1 a1,A2 a2,R * r)286 gmp_args_nm_3_ret (M m, A0 a0, A1 a1, A2 a2, R* r) :
287 m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2) {}
returns_value()288 virtual bool returns_value() const {
289 return true;
290 }
291
Run()292 void Run() {
293 *r_ = m_ (a0_, a1_, a2_);
294 }
295
296 private:
297 M m_;
298 R* r_;
299 A0 a0_;
300 A1 a1_;
301 A2 a2_;
302 };
303
304
305
306 // 3 arguments --
307 template<typename C, typename M, typename A0, typename A1, typename A2> class gmp_args_m_3 : public gmp_args_base {
308 public:
gmp_args_m_3(C o,M m,A0 a0,A1 a1,A2 a2)309 gmp_args_m_3 (C o, M m, A0 a0, A1 a1, A2 a2) :
310 o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2) {}
311
Run()312 void Run() {
313 ((*o_).*m_) (a0_, a1_, a2_);
314 }
315
316 private:
317 C o_;
318 M m_;
319 A0 a0_;
320 A1 a1_;
321 A2 a2_;
322 };
323
324
325
326 // 3 arguments --
327 template<typename C, typename M, typename A0, typename A1, typename A2, typename R> class gmp_args_m_3_ret : public gmp_args_base {
328 public:
gmp_args_m_3_ret(C o,M m,A0 a0,A1 a1,A2 a2,R * r)329 gmp_args_m_3_ret (C o, M m, A0 a0, A1 a1, A2 a2, R* r) :
330 o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2) {}
returns_value()331 virtual bool returns_value() const {
332 return true;
333 }
334
Run()335 void Run() {
336 *r_ = ((*o_).*m_) (a0_, a1_, a2_);
337 }
338
339 private:
340 C o_;
341 M m_;
342 R* r_;
343 A0 a0_;
344 A1 a1_;
345 A2 a2_;
346 };
347
348
349
350 // 4 arguments --
351 template<typename M, typename A0, typename A1, typename A2, typename A3> class gmp_args_nm_4 : public gmp_args_base {
352 public:
gmp_args_nm_4(M m,A0 a0,A1 a1,A2 a2,A3 a3)353 gmp_args_nm_4 (M m, A0 a0, A1 a1, A2 a2, A3 a3) :
354 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {}
355
Run()356 void Run() {
357 m_ (a0_, a1_, a2_, a3_);
358 }
359
360 private:
361 M m_;
362 A0 a0_;
363 A1 a1_;
364 A2 a2_;
365 A3 a3_;
366 };
367
368
369
370 // 4 arguments --
371 template<typename M, typename A0, typename A1, typename A2, typename A3, typename R> class gmp_args_nm_4_ret : public gmp_args_base {
372 public:
gmp_args_nm_4_ret(M m,A0 a0,A1 a1,A2 a2,A3 a3,R * r)373 gmp_args_nm_4_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) :
374 m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {}
returns_value()375 virtual bool returns_value() const {
376 return true;
377 }
378
Run()379 void Run() {
380 *r_ = m_ (a0_, a1_, a2_, a3_);
381 }
382
383 private:
384 M m_;
385 R* r_;
386 A0 a0_;
387 A1 a1_;
388 A2 a2_;
389 A3 a3_;
390 };
391
392
393
394 // 4 arguments --
395 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3> class gmp_args_m_4 : public gmp_args_base {
396 public:
gmp_args_m_4(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3)397 gmp_args_m_4 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) :
398 o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {}
399
Run()400 void Run() {
401 ((*o_).*m_) (a0_, a1_, a2_, a3_);
402 }
403
404 private:
405 C o_;
406 M m_;
407 A0 a0_;
408 A1 a1_;
409 A2 a2_;
410 A3 a3_;
411 };
412
413
414
415 // 4 arguments --
416 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename R> class gmp_args_m_4_ret : public gmp_args_base {
417 public:
gmp_args_m_4_ret(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,R * r)418 gmp_args_m_4_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) :
419 o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3) {}
returns_value()420 virtual bool returns_value() const {
421 return true;
422 }
423
Run()424 void Run() {
425 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_);
426 }
427
428 private:
429 C o_;
430 M m_;
431 R* r_;
432 A0 a0_;
433 A1 a1_;
434 A2 a2_;
435 A3 a3_;
436 };
437
438
439
440 // 5 arguments --
441 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class gmp_args_nm_5 : public gmp_args_base {
442 public:
gmp_args_nm_5(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4)443 gmp_args_nm_5 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) :
444 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {}
445
Run()446 void Run() {
447 m_ (a0_, a1_, a2_, a3_, a4_);
448 }
449
450 private:
451 M m_;
452 A0 a0_;
453 A1 a1_;
454 A2 a2_;
455 A3 a3_;
456 A4 a4_;
457 };
458
459
460
461 // 5 arguments --
462 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class gmp_args_nm_5_ret : public gmp_args_base {
463 public:
gmp_args_nm_5_ret(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,R * r)464 gmp_args_nm_5_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) :
465 m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {}
returns_value()466 virtual bool returns_value() const {
467 return true;
468 }
469
Run()470 void Run() {
471 *r_ = m_ (a0_, a1_, a2_, a3_, a4_);
472 }
473
474 private:
475 M m_;
476 R* r_;
477 A0 a0_;
478 A1 a1_;
479 A2 a2_;
480 A3 a3_;
481 A4 a4_;
482 };
483
484
485
486 // 5 arguments --
487 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class gmp_args_m_5 : public gmp_args_base {
488 public:
gmp_args_m_5(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4)489 gmp_args_m_5 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) :
490 o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {}
491
Run()492 void Run() {
493 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_);
494 }
495
496 private:
497 C o_;
498 M m_;
499 A0 a0_;
500 A1 a1_;
501 A2 a2_;
502 A3 a3_;
503 A4 a4_;
504 };
505
506
507
508 // 5 arguments --
509 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class gmp_args_m_5_ret : public gmp_args_base {
510 public:
gmp_args_m_5_ret(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,R * r)511 gmp_args_m_5_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) :
512 o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4) {}
returns_value()513 virtual bool returns_value() const {
514 return true;
515 }
516
Run()517 void Run() {
518 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_);
519 }
520
521 private:
522 C o_;
523 M m_;
524 R* r_;
525 A0 a0_;
526 A1 a1_;
527 A2 a2_;
528 A3 a3_;
529 A4 a4_;
530 };
531
532
533
534 // 6 arguments --
535 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class gmp_args_nm_6 : public gmp_args_base {
536 public:
gmp_args_nm_6(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5)537 gmp_args_nm_6 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) :
538 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {}
539
Run()540 void Run() {
541 m_ (a0_, a1_, a2_, a3_, a4_, a5_);
542 }
543
544 private:
545 M m_;
546 A0 a0_;
547 A1 a1_;
548 A2 a2_;
549 A3 a3_;
550 A4 a4_;
551 A5 a5_;
552 };
553
554
555
556 // 6 arguments --
557 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R> class gmp_args_nm_6_ret : public gmp_args_base {
558 public:
gmp_args_nm_6_ret(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,R * r)559 gmp_args_nm_6_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) :
560 m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {}
returns_value()561 virtual bool returns_value() const {
562 return true;
563 }
564
Run()565 void Run() {
566 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_);
567 }
568
569 private:
570 M m_;
571 R* r_;
572 A0 a0_;
573 A1 a1_;
574 A2 a2_;
575 A3 a3_;
576 A4 a4_;
577 A5 a5_;
578 };
579
580
581
582 // 6 arguments --
583 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class gmp_args_m_6 : public gmp_args_base {
584 public:
gmp_args_m_6(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5)585 gmp_args_m_6 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) :
586 o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {}
587
Run()588 void Run() {
589 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_);
590 }
591
592 private:
593 C o_;
594 M m_;
595 A0 a0_;
596 A1 a1_;
597 A2 a2_;
598 A3 a3_;
599 A4 a4_;
600 A5 a5_;
601 };
602
603
604
605 // 6 arguments --
606 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R> class gmp_args_m_6_ret : public gmp_args_base {
607 public:
gmp_args_m_6_ret(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,R * r)608 gmp_args_m_6_ret (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) :
609 o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5) {}
returns_value()610 virtual bool returns_value() const {
611 return true;
612 }
613
Run()614 void Run() {
615 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_);
616 }
617
618 private:
619 C o_;
620 M m_;
621 R* r_;
622 A0 a0_;
623 A1 a1_;
624 A2 a2_;
625 A3 a3_;
626 A4 a4_;
627 A5 a5_;
628 };
629
630
631
632 // 7 arguments --
633 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> class gmp_args_nm_7 : public gmp_args_base {
634 public:
gmp_args_nm_7(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6)635 gmp_args_nm_7 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) :
636 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {}
637
Run()638 void Run() {
639 m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_);
640 }
641
642 private:
643 M m_;
644 A0 a0_;
645 A1 a1_;
646 A2 a2_;
647 A3 a3_;
648 A4 a4_;
649 A5 a5_;
650 A6 a6_;
651 };
652
653
654
655 // 7 arguments --
656 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R> class gmp_args_nm_7_ret : public gmp_args_base {
657 public:
gmp_args_nm_7_ret(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,R * r)658 gmp_args_nm_7_ret (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) :
659 m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {}
returns_value()660 virtual bool returns_value() const {
661 return true;
662 }
663
Run()664 void Run() {
665 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_);
666 }
667
668 private:
669 M m_;
670 R* r_;
671 A0 a0_;
672 A1 a1_;
673 A2 a2_;
674 A3 a3_;
675 A4 a4_;
676 A5 a5_;
677 A6 a6_;
678 };
679
680
681
682 // 7 arguments --
683 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> class gmp_args_m_7 : public gmp_args_base {
684 public:
gmp_args_m_7(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6)685 gmp_args_m_7 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) :
686 o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {}
687
Run()688 void Run() {
689 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_);
690 }
691
692 private:
693 C o_;
694 M m_;
695 A0 a0_;
696 A1 a1_;
697 A2 a2_;
698 A3 a3_;
699 A4 a4_;
700 A5 a5_;
701 A6 a6_;
702 };
703
704
705
706 // 7 arguments --
707 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R> class gmp_args_m_7_ret : public gmp_args_base {
708 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)709 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) :
710 o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6) {}
returns_value()711 virtual bool returns_value() const {
712 return true;
713 }
714
Run()715 void Run() {
716 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_);
717 }
718
719 private:
720 C o_;
721 M m_;
722 R* r_;
723 A0 a0_;
724 A1 a1_;
725 A2 a2_;
726 A3 a3_;
727 A4 a4_;
728 A5 a5_;
729 A6 a6_;
730 };
731
732
733
734 // 8 arguments --
735 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7> class gmp_args_nm_8 : public gmp_args_base {
736 public:
gmp_args_nm_8(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7)737 gmp_args_nm_8 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) :
738 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {}
739
Run()740 void Run() {
741 m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
742 }
743
744 private:
745 M m_;
746 A0 a0_;
747 A1 a1_;
748 A2 a2_;
749 A3 a3_;
750 A4 a4_;
751 A5 a5_;
752 A6 a6_;
753 A7 a7_;
754 };
755
756
757
758 // 8 arguments --
759 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R> class gmp_args_nm_8_ret : public gmp_args_base {
760 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)761 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) :
762 m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {}
returns_value()763 virtual bool returns_value() const {
764 return true;
765 }
766
Run()767 void Run() {
768 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
769 }
770
771 private:
772 M m_;
773 R* r_;
774 A0 a0_;
775 A1 a1_;
776 A2 a2_;
777 A3 a3_;
778 A4 a4_;
779 A5 a5_;
780 A6 a6_;
781 A7 a7_;
782 };
783
784
785
786 // 8 arguments --
787 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7> class gmp_args_m_8 : public gmp_args_base {
788 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)789 gmp_args_m_8 (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) :
790 o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {}
791
Run()792 void Run() {
793 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
794 }
795
796 private:
797 C o_;
798 M m_;
799 A0 a0_;
800 A1 a1_;
801 A2 a2_;
802 A3 a3_;
803 A4 a4_;
804 A5 a5_;
805 A6 a6_;
806 A7 a7_;
807 };
808
809
810
811 // 8 arguments --
812 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R> class gmp_args_m_8_ret : public gmp_args_base {
813 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)814 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) :
815 o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7) {}
returns_value()816 virtual bool returns_value() const {
817 return true;
818 }
819
Run()820 void Run() {
821 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
822 }
823
824 private:
825 C o_;
826 M m_;
827 R* r_;
828 A0 a0_;
829 A1 a1_;
830 A2 a2_;
831 A3 a3_;
832 A4 a4_;
833 A5 a5_;
834 A6 a6_;
835 A7 a7_;
836 };
837
838
839
840 // 9 arguments --
841 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8> class gmp_args_nm_9 : public gmp_args_base {
842 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)843 gmp_args_nm_9 (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) :
844 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {}
845
Run()846 void Run() {
847 m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
848 }
849
850 private:
851 M m_;
852 A0 a0_;
853 A1 a1_;
854 A2 a2_;
855 A3 a3_;
856 A4 a4_;
857 A5 a5_;
858 A6 a6_;
859 A7 a7_;
860 A8 a8_;
861 };
862
863
864
865 // 9 arguments --
866 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R> class gmp_args_nm_9_ret : public gmp_args_base {
867 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)868 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) :
869 m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {}
returns_value()870 virtual bool returns_value() const {
871 return true;
872 }
873
Run()874 void Run() {
875 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
876 }
877
878 private:
879 M m_;
880 R* r_;
881 A0 a0_;
882 A1 a1_;
883 A2 a2_;
884 A3 a3_;
885 A4 a4_;
886 A5 a5_;
887 A6 a6_;
888 A7 a7_;
889 A8 a8_;
890 };
891
892
893
894 // 9 arguments --
895 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8> class gmp_args_m_9 : public gmp_args_base {
896 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)897 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) :
898 o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {}
899
Run()900 void Run() {
901 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
902 }
903
904 private:
905 C o_;
906 M m_;
907 A0 a0_;
908 A1 a1_;
909 A2 a2_;
910 A3 a3_;
911 A4 a4_;
912 A5 a5_;
913 A6 a6_;
914 A7 a7_;
915 A8 a8_;
916 };
917
918
919
920 // 9 arguments --
921 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R> class gmp_args_m_9_ret : public gmp_args_base {
922 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)923 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) :
924 o_ (o), m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8) {}
returns_value()925 virtual bool returns_value() const {
926 return true;
927 }
928
Run()929 void Run() {
930 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
931 }
932
933 private:
934 C o_;
935 M m_;
936 R* r_;
937 A0 a0_;
938 A1 a1_;
939 A2 a2_;
940 A3 a3_;
941 A4 a4_;
942 A5 a5_;
943 A6 a6_;
944 A7 a7_;
945 A8 a8_;
946 };
947
948
949
950 // 10 arguments --
951 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9> class gmp_args_nm_10 : public gmp_args_base {
952 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)953 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) :
954 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {}
955
Run()956 void Run() {
957 m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
958 }
959
960 private:
961 M m_;
962 A0 a0_;
963 A1 a1_;
964 A2 a2_;
965 A3 a3_;
966 A4 a4_;
967 A5 a5_;
968 A6 a6_;
969 A7 a7_;
970 A8 a8_;
971 A9 a9_;
972 };
973
974
975
976 // 10 arguments --
977 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R> class gmp_args_nm_10_ret : public gmp_args_base {
978 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)979 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) :
980 m_ (m), r_ (r), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {}
returns_value()981 virtual bool returns_value() const {
982 return true;
983 }
984
Run()985 void Run() {
986 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
987 }
988
989 private:
990 M m_;
991 R* r_;
992 A0 a0_;
993 A1 a1_;
994 A2 a2_;
995 A3 a3_;
996 A4 a4_;
997 A5 a5_;
998 A6 a6_;
999 A7 a7_;
1000 A8 a8_;
1001 A9 a9_;
1002 };
1003
1004
1005
1006 // 10 arguments --
1007 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9> class gmp_args_m_10 : public gmp_args_base {
1008 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)1009 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) :
1010 o_ (o), m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9) {}
1011
Run()1012 void Run() {
1013 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
1014 }
1015
1016 private:
1017 C o_;
1018 M m_;
1019 A0 a0_;
1020 A1 a1_;
1021 A2 a2_;
1022 A3 a3_;
1023 A4 a4_;
1024 A5 a5_;
1025 A6 a6_;
1026 A7 a7_;
1027 A8 a8_;
1028 A9 a9_;
1029 };
1030
1031
1032
1033 // 10 arguments --
1034 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R> class gmp_args_m_10_ret : public gmp_args_base {
1035 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)1036 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) :
1037 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) {}
returns_value()1038 virtual bool returns_value() const {
1039 return true;
1040 }
1041
Run()1042 void Run() {
1043 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
1044 }
1045
1046 private:
1047 C o_;
1048 M m_;
1049 R* r_;
1050 A0 a0_;
1051 A1 a1_;
1052 A2 a2_;
1053 A3 a3_;
1054 A4 a4_;
1055 A5 a5_;
1056 A6 a6_;
1057 A7 a7_;
1058 A8 a8_;
1059 A9 a9_;
1060 };
1061
1062
1063
1064 // 11 arguments --
1065 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10> class gmp_args_nm_11 : public gmp_args_base {
1066 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)1067 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) :
1068 m_ (m), a0_ (a0), a1_ (a1), a2_ (a2), a3_ (a3), a4_ (a4), a5_ (a5), a6_ (a6), a7_ (a7), a8_ (a8), a9_ (a9), a10_ (a10) {}
1069
Run()1070 void Run() {
1071 m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
1072 }
1073
1074 private:
1075 M m_;
1076 A0 a0_;
1077 A1 a1_;
1078 A2 a2_;
1079 A3 a3_;
1080 A4 a4_;
1081 A5 a5_;
1082 A6 a6_;
1083 A7 a7_;
1084 A8 a8_;
1085 A9 a9_;
1086 A10 a10_;
1087 };
1088
1089
1090
1091 // 11 arguments --
1092 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R> class gmp_args_nm_11_ret : public gmp_args_base {
1093 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)1094 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) :
1095 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) {}
returns_value()1096 virtual bool returns_value() const {
1097 return true;
1098 }
1099
Run()1100 void Run() {
1101 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
1102 }
1103
1104 private:
1105 M m_;
1106 R* r_;
1107 A0 a0_;
1108 A1 a1_;
1109 A2 a2_;
1110 A3 a3_;
1111 A4 a4_;
1112 A5 a5_;
1113 A6 a6_;
1114 A7 a7_;
1115 A8 a8_;
1116 A9 a9_;
1117 A10 a10_;
1118 };
1119
1120
1121
1122 // 11 arguments --
1123 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10> class gmp_args_m_11 : public gmp_args_base {
1124 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)1125 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) :
1126 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) {}
1127
Run()1128 void Run() {
1129 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
1130 }
1131
1132 private:
1133 C o_;
1134 M m_;
1135 A0 a0_;
1136 A1 a1_;
1137 A2 a2_;
1138 A3 a3_;
1139 A4 a4_;
1140 A5 a5_;
1141 A6 a6_;
1142 A7 a7_;
1143 A8 a8_;
1144 A9 a9_;
1145 A10 a10_;
1146 };
1147
1148
1149
1150 // 11 arguments --
1151 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R> class gmp_args_m_11_ret : public gmp_args_base {
1152 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)1153 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) :
1154 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) {}
returns_value()1155 virtual bool returns_value() const {
1156 return true;
1157 }
1158
Run()1159 void Run() {
1160 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
1161 }
1162
1163 private:
1164 C o_;
1165 M m_;
1166 R* r_;
1167 A0 a0_;
1168 A1 a1_;
1169 A2 a2_;
1170 A3 a3_;
1171 A4 a4_;
1172 A5 a5_;
1173 A6 a6_;
1174 A7 a7_;
1175 A8 a8_;
1176 A9 a9_;
1177 A10 a10_;
1178 };
1179
1180
1181
1182 // 12 arguments --
1183 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11> class gmp_args_nm_12 : public gmp_args_base {
1184 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)1185 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) :
1186 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) {}
1187
Run()1188 void Run() {
1189 m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
1190 }
1191
1192 private:
1193 M m_;
1194 A0 a0_;
1195 A1 a1_;
1196 A2 a2_;
1197 A3 a3_;
1198 A4 a4_;
1199 A5 a5_;
1200 A6 a6_;
1201 A7 a7_;
1202 A8 a8_;
1203 A9 a9_;
1204 A10 a10_;
1205 A11 a11_;
1206 };
1207
1208
1209
1210 // 12 arguments --
1211 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R> class gmp_args_nm_12_ret : public gmp_args_base {
1212 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)1213 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) :
1214 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) {}
returns_value()1215 virtual bool returns_value() const {
1216 return true;
1217 }
1218
Run()1219 void Run() {
1220 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
1221 }
1222
1223 private:
1224 M m_;
1225 R* r_;
1226 A0 a0_;
1227 A1 a1_;
1228 A2 a2_;
1229 A3 a3_;
1230 A4 a4_;
1231 A5 a5_;
1232 A6 a6_;
1233 A7 a7_;
1234 A8 a8_;
1235 A9 a9_;
1236 A10 a10_;
1237 A11 a11_;
1238 };
1239
1240
1241
1242 // 12 arguments --
1243 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11> class gmp_args_m_12 : public gmp_args_base {
1244 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)1245 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) :
1246 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) {}
1247
Run()1248 void Run() {
1249 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
1250 }
1251
1252 private:
1253 C o_;
1254 M m_;
1255 A0 a0_;
1256 A1 a1_;
1257 A2 a2_;
1258 A3 a3_;
1259 A4 a4_;
1260 A5 a5_;
1261 A6 a6_;
1262 A7 a7_;
1263 A8 a8_;
1264 A9 a9_;
1265 A10 a10_;
1266 A11 a11_;
1267 };
1268
1269
1270
1271 // 12 arguments --
1272 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R> class gmp_args_m_12_ret : public gmp_args_base {
1273 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)1274 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) :
1275 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) {}
returns_value()1276 virtual bool returns_value() const {
1277 return true;
1278 }
1279
Run()1280 void Run() {
1281 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
1282 }
1283
1284 private:
1285 C o_;
1286 M m_;
1287 R* r_;
1288 A0 a0_;
1289 A1 a1_;
1290 A2 a2_;
1291 A3 a3_;
1292 A4 a4_;
1293 A5 a5_;
1294 A6 a6_;
1295 A7 a7_;
1296 A8 a8_;
1297 A9 a9_;
1298 A10 a10_;
1299 A11 a11_;
1300 };
1301
1302
1303
1304 // 13 arguments --
1305 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12> class gmp_args_nm_13 : public gmp_args_base {
1306 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)1307 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) :
1308 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) {}
1309
Run()1310 void Run() {
1311 m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
1312 }
1313
1314 private:
1315 M m_;
1316 A0 a0_;
1317 A1 a1_;
1318 A2 a2_;
1319 A3 a3_;
1320 A4 a4_;
1321 A5 a5_;
1322 A6 a6_;
1323 A7 a7_;
1324 A8 a8_;
1325 A9 a9_;
1326 A10 a10_;
1327 A11 a11_;
1328 A12 a12_;
1329 };
1330
1331
1332
1333 // 13 arguments --
1334 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R> class gmp_args_nm_13_ret : public gmp_args_base {
1335 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)1336 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) :
1337 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) {}
returns_value()1338 virtual bool returns_value() const {
1339 return true;
1340 }
1341
Run()1342 void Run() {
1343 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
1344 }
1345
1346 private:
1347 M m_;
1348 R* r_;
1349 A0 a0_;
1350 A1 a1_;
1351 A2 a2_;
1352 A3 a3_;
1353 A4 a4_;
1354 A5 a5_;
1355 A6 a6_;
1356 A7 a7_;
1357 A8 a8_;
1358 A9 a9_;
1359 A10 a10_;
1360 A11 a11_;
1361 A12 a12_;
1362 };
1363
1364
1365
1366 // 13 arguments --
1367 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12> class gmp_args_m_13 : public gmp_args_base {
1368 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)1369 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) :
1370 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) {}
1371
Run()1372 void Run() {
1373 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
1374 }
1375
1376 private:
1377 C o_;
1378 M m_;
1379 A0 a0_;
1380 A1 a1_;
1381 A2 a2_;
1382 A3 a3_;
1383 A4 a4_;
1384 A5 a5_;
1385 A6 a6_;
1386 A7 a7_;
1387 A8 a8_;
1388 A9 a9_;
1389 A10 a10_;
1390 A11 a11_;
1391 A12 a12_;
1392 };
1393
1394
1395
1396 // 13 arguments --
1397 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R> class gmp_args_m_13_ret : public gmp_args_base {
1398 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)1399 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) :
1400 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) {}
returns_value()1401 virtual bool returns_value() const {
1402 return true;
1403 }
1404
Run()1405 void Run() {
1406 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
1407 }
1408
1409 private:
1410 C o_;
1411 M m_;
1412 R* r_;
1413 A0 a0_;
1414 A1 a1_;
1415 A2 a2_;
1416 A3 a3_;
1417 A4 a4_;
1418 A5 a5_;
1419 A6 a6_;
1420 A7 a7_;
1421 A8 a8_;
1422 A9 a9_;
1423 A10 a10_;
1424 A11 a11_;
1425 A12 a12_;
1426 };
1427
1428
1429
1430 // 14 arguments --
1431 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13> class gmp_args_nm_14 : public gmp_args_base {
1432 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)1433 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) :
1434 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) {}
1435
Run()1436 void Run() {
1437 m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
1438 }
1439
1440 private:
1441 M m_;
1442 A0 a0_;
1443 A1 a1_;
1444 A2 a2_;
1445 A3 a3_;
1446 A4 a4_;
1447 A5 a5_;
1448 A6 a6_;
1449 A7 a7_;
1450 A8 a8_;
1451 A9 a9_;
1452 A10 a10_;
1453 A11 a11_;
1454 A12 a12_;
1455 A13 a13_;
1456 };
1457
1458
1459
1460 // 14 arguments --
1461 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R> class gmp_args_nm_14_ret : public gmp_args_base {
1462 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)1463 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) :
1464 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) {}
returns_value()1465 virtual bool returns_value() const {
1466 return true;
1467 }
1468
Run()1469 void Run() {
1470 *r_ = m_ (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
1471 }
1472
1473 private:
1474 M m_;
1475 R* r_;
1476 A0 a0_;
1477 A1 a1_;
1478 A2 a2_;
1479 A3 a3_;
1480 A4 a4_;
1481 A5 a5_;
1482 A6 a6_;
1483 A7 a7_;
1484 A8 a8_;
1485 A9 a9_;
1486 A10 a10_;
1487 A11 a11_;
1488 A12 a12_;
1489 A13 a13_;
1490 };
1491
1492
1493
1494 // 14 arguments --
1495 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13> class gmp_args_m_14 : public gmp_args_base {
1496 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)1497 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) :
1498 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) {}
1499
Run()1500 void Run() {
1501 ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
1502 }
1503
1504 private:
1505 C o_;
1506 M m_;
1507 A0 a0_;
1508 A1 a1_;
1509 A2 a2_;
1510 A3 a3_;
1511 A4 a4_;
1512 A5 a5_;
1513 A6 a6_;
1514 A7 a7_;
1515 A8 a8_;
1516 A9 a9_;
1517 A10 a10_;
1518 A11 a11_;
1519 A12 a12_;
1520 A13 a13_;
1521 };
1522
1523
1524
1525 // 14 arguments --
1526 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R> class gmp_args_m_14_ret : public gmp_args_base {
1527 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)1528 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) :
1529 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) {}
returns_value()1530 virtual bool returns_value() const {
1531 return true;
1532 }
1533
Run()1534 void Run() {
1535 *r_ = ((*o_).*m_) (a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
1536 }
1537
1538 private:
1539 C o_;
1540 M m_;
1541 R* r_;
1542 A0 a0_;
1543 A1 a1_;
1544 A2 a2_;
1545 A3 a3_;
1546 A4 a4_;
1547 A5 a5_;
1548 A6 a6_;
1549 A7 a7_;
1550 A8 a8_;
1551 A9 a9_;
1552 A10 a10_;
1553 A11 a11_;
1554 A12 a12_;
1555 A13 a13_;
1556 };
1557
1558
1559
1560
1561
1562
1563 // 0 arguments --
1564 template<typename M>
WrapTaskNM(M m)1565 gmp_args_nm_0<M>* WrapTaskNM (M m) {
1566 return new gmp_args_nm_0<M>
1567 (m);
1568 }
1569
1570 // 0 arguments --
1571 template<typename M, typename R>
WrapTaskNMRet(M m,R * r)1572 gmp_args_nm_0_ret<M, R>* WrapTaskNMRet (M m, R* r) {
1573 return new gmp_args_nm_0_ret<M, R>
1574 (m, r);
1575 }
1576
1577 // 0 arguments --
1578 template<typename C, typename M>
WrapTask(C o,M m)1579 gmp_args_m_0<C, M>* WrapTask (C o, M m) {
1580 return new gmp_args_m_0<C, M>
1581 (o, m);
1582 }
1583
1584 template<typename C, typename M>
1585 GMPTask*
WrapTaskRefCounted(C o,M m)1586 WrapTaskRefCounted (C o, M m) {
1587 GMPTask *t = WrapTask (o, m);
1588 return new RefCountTaskWrapper(t, o);
1589 }
1590
1591 // 0 arguments --
1592 template<typename C, typename M, typename R>
WrapTaskRet(C o,M m,R * r)1593 gmp_args_m_0_ret<C, M, R>* WrapTaskRet (C o, M m, R* r) {
1594 return new gmp_args_m_0_ret<C, M, R>
1595 (o, m, r);
1596 }
1597
1598 // 1 arguments --
1599 template<typename M, typename A0>
WrapTaskNM(M m,A0 a0)1600 gmp_args_nm_1<M, A0>* WrapTaskNM (M m, A0 a0) {
1601 return new gmp_args_nm_1<M, A0>
1602 (m, a0);
1603 }
1604
1605 // 1 arguments --
1606 template<typename M, typename A0, typename R>
WrapTaskNMRet(M m,A0 a0,R * r)1607 gmp_args_nm_1_ret<M, A0, R>* WrapTaskNMRet (M m, A0 a0, R* r) {
1608 return new gmp_args_nm_1_ret<M, A0, R>
1609 (m, a0, r);
1610 }
1611
1612 // 1 arguments --
1613 template<typename C, typename M, typename A0>
WrapTask(C o,M m,A0 a0)1614 gmp_args_m_1<C, M, A0>* WrapTask (C o, M m, A0 a0) {
1615 return new gmp_args_m_1<C, M, A0>
1616 (o, m, a0);
1617 }
1618
1619 template<typename C, typename M, typename A0>
1620 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0)1621 WrapTaskRefCounted (C o, M m, A0 a0) {
1622 GMPTask *t = WrapTask (o, m, a0);
1623 return new RefCountTaskWrapper(t, o);
1624 }
1625
1626 // 1 arguments --
1627 template<typename C, typename M, typename A0, typename R>
WrapTaskRet(C o,M m,A0 a0,R * r)1628 gmp_args_m_1_ret<C, M, A0, R>* WrapTaskRet (C o, M m, A0 a0, R* r) {
1629 return new gmp_args_m_1_ret<C, M, A0, R>
1630 (o, m, a0, r);
1631 }
1632
1633 // 2 arguments --
1634 template<typename M, typename A0, typename A1>
WrapTaskNM(M m,A0 a0,A1 a1)1635 gmp_args_nm_2<M, A0, A1>* WrapTaskNM (M m, A0 a0, A1 a1) {
1636 return new gmp_args_nm_2<M, A0, A1>
1637 (m, a0, a1);
1638 }
1639
1640 // 2 arguments --
1641 template<typename M, typename A0, typename A1, typename R>
WrapTaskNMRet(M m,A0 a0,A1 a1,R * r)1642 gmp_args_nm_2_ret<M, A0, A1, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, R* r) {
1643 return new gmp_args_nm_2_ret<M, A0, A1, R>
1644 (m, a0, a1, r);
1645 }
1646
1647 // 2 arguments --
1648 template<typename C, typename M, typename A0, typename A1>
WrapTask(C o,M m,A0 a0,A1 a1)1649 gmp_args_m_2<C, M, A0, A1>* WrapTask (C o, M m, A0 a0, A1 a1) {
1650 return new gmp_args_m_2<C, M, A0, A1>
1651 (o, m, a0, a1);
1652 }
1653
1654 template<typename C, typename M, typename A0, typename A1>
1655 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0,A1 a1)1656 WrapTaskRefCounted (C o, M m, A0 a0, A1 a1) {
1657 GMPTask *t = WrapTask (o, m, a0, a1);
1658 return new RefCountTaskWrapper(t, o);
1659 }
1660
1661 // 2 arguments --
1662 template<typename C, typename M, typename A0, typename A1, typename R>
WrapTaskRet(C o,M m,A0 a0,A1 a1,R * r)1663 gmp_args_m_2_ret<C, M, A0, A1, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, R* r) {
1664 return new gmp_args_m_2_ret<C, M, A0, A1, R>
1665 (o, m, a0, a1, r);
1666 }
1667
1668 // 3 arguments --
1669 template<typename M, typename A0, typename A1, typename A2>
WrapTaskNM(M m,A0 a0,A1 a1,A2 a2)1670 gmp_args_nm_3<M, A0, A1, A2>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2) {
1671 return new gmp_args_nm_3<M, A0, A1, A2>
1672 (m, a0, a1, a2);
1673 }
1674
1675 // 3 arguments --
1676 template<typename M, typename A0, typename A1, typename A2, typename R>
WrapTaskNMRet(M m,A0 a0,A1 a1,A2 a2,R * r)1677 gmp_args_nm_3_ret<M, A0, A1, A2, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, R* r) {
1678 return new gmp_args_nm_3_ret<M, A0, A1, A2, R>
1679 (m, a0, a1, a2, r);
1680 }
1681
1682 // 3 arguments --
1683 template<typename C, typename M, typename A0, typename A1, typename A2>
WrapTask(C o,M m,A0 a0,A1 a1,A2 a2)1684 gmp_args_m_3<C, M, A0, A1, A2>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2) {
1685 return new gmp_args_m_3<C, M, A0, A1, A2>
1686 (o, m, a0, a1, a2);
1687 }
1688
1689 template<typename C, typename M, typename A0, typename A1, typename A2>
1690 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0,A1 a1,A2 a2)1691 WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2) {
1692 GMPTask *t = WrapTask (o, m, a0, a1, a2);
1693 return new RefCountTaskWrapper(t, o);
1694 }
1695
1696 // 3 arguments --
1697 template<typename C, typename M, typename A0, typename A1, typename A2, typename R>
WrapTaskRet(C o,M m,A0 a0,A1 a1,A2 a2,R * r)1698 gmp_args_m_3_ret<C, M, A0, A1, A2, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, R* r) {
1699 return new gmp_args_m_3_ret<C, M, A0, A1, A2, R>
1700 (o, m, a0, a1, a2, r);
1701 }
1702
1703 // 4 arguments --
1704 template<typename M, typename A0, typename A1, typename A2, typename A3>
WrapTaskNM(M m,A0 a0,A1 a1,A2 a2,A3 a3)1705 gmp_args_nm_4<M, A0, A1, A2, A3>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3) {
1706 return new gmp_args_nm_4<M, A0, A1, A2, A3>
1707 (m, a0, a1, a2, a3);
1708 }
1709
1710 // 4 arguments --
1711 template<typename M, typename A0, typename A1, typename A2, typename A3, typename R>
WrapTaskNMRet(M m,A0 a0,A1 a1,A2 a2,A3 a3,R * r)1712 gmp_args_nm_4_ret<M, A0, A1, A2, A3, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) {
1713 return new gmp_args_nm_4_ret<M, A0, A1, A2, A3, R>
1714 (m, a0, a1, a2, a3, r);
1715 }
1716
1717 // 4 arguments --
1718 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3>
WrapTask(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3)1719 gmp_args_m_4<C, M, A0, A1, A2, A3>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) {
1720 return new gmp_args_m_4<C, M, A0, A1, A2, A3>
1721 (o, m, a0, a1, a2, a3);
1722 }
1723
1724 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3>
1725 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3)1726 WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) {
1727 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3);
1728 return new RefCountTaskWrapper(t, o);
1729 }
1730
1731 // 4 arguments --
1732 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename R>
WrapTaskRet(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,R * r)1733 gmp_args_m_4_ret<C, M, A0, A1, A2, A3, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) {
1734 return new gmp_args_m_4_ret<C, M, A0, A1, A2, A3, R>
1735 (o, m, a0, a1, a2, a3, r);
1736 }
1737
1738 // 5 arguments --
1739 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4>
WrapTaskNM(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4)1740 gmp_args_nm_5<M, A0, A1, A2, A3, A4>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) {
1741 return new gmp_args_nm_5<M, A0, A1, A2, A3, A4>
1742 (m, a0, a1, a2, a3, a4);
1743 }
1744
1745 // 5 arguments --
1746 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R>
WrapTaskNMRet(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,R * r)1747 gmp_args_nm_5_ret<M, A0, A1, A2, A3, A4, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) {
1748 return new gmp_args_nm_5_ret<M, A0, A1, A2, A3, A4, R>
1749 (m, a0, a1, a2, a3, a4, r);
1750 }
1751
1752 // 5 arguments --
1753 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4>
WrapTask(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4)1754 gmp_args_m_5<C, M, A0, A1, A2, A3, A4>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) {
1755 return new gmp_args_m_5<C, M, A0, A1, A2, A3, A4>
1756 (o, m, a0, a1, a2, a3, a4);
1757 }
1758
1759 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4>
1760 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4)1761 WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) {
1762 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4);
1763 return new RefCountTaskWrapper(t, o);
1764 }
1765
1766 // 5 arguments --
1767 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R>
WrapTaskRet(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,R * r)1768 gmp_args_m_5_ret<C, M, A0, A1, A2, A3, A4, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) {
1769 return new gmp_args_m_5_ret<C, M, A0, A1, A2, A3, A4, R>
1770 (o, m, a0, a1, a2, a3, a4, r);
1771 }
1772
1773 // 6 arguments --
1774 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
WrapTaskNM(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5)1775 gmp_args_nm_6<M, A0, A1, A2, A3, A4, A5>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
1776 return new gmp_args_nm_6<M, A0, A1, A2, A3, A4, A5>
1777 (m, a0, a1, a2, a3, a4, a5);
1778 }
1779
1780 // 6 arguments --
1781 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R>
WrapTaskNMRet(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,R * r)1782 gmp_args_nm_6_ret<M, A0, A1, A2, A3, A4, A5, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) {
1783 return new gmp_args_nm_6_ret<M, A0, A1, A2, A3, A4, A5, R>
1784 (m, a0, a1, a2, a3, a4, a5, r);
1785 }
1786
1787 // 6 arguments --
1788 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
WrapTask(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5)1789 gmp_args_m_6<C, M, A0, A1, A2, A3, A4, A5>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
1790 return new gmp_args_m_6<C, M, A0, A1, A2, A3, A4, A5>
1791 (o, m, a0, a1, a2, a3, a4, a5);
1792 }
1793
1794 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
1795 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5)1796 WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
1797 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5);
1798 return new RefCountTaskWrapper(t, o);
1799 }
1800
1801 // 6 arguments --
1802 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R>
WrapTaskRet(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,R * r)1803 gmp_args_m_6_ret<C, M, A0, A1, A2, A3, A4, A5, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) {
1804 return new gmp_args_m_6_ret<C, M, A0, A1, A2, A3, A4, A5, R>
1805 (o, m, a0, a1, a2, a3, a4, a5, r);
1806 }
1807
1808 // 7 arguments --
1809 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
WrapTaskNM(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6)1810 gmp_args_nm_7<M, A0, A1, A2, A3, A4, A5, A6>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) {
1811 return new gmp_args_nm_7<M, A0, A1, A2, A3, A4, A5, A6>
1812 (m, a0, a1, a2, a3, a4, a5, a6);
1813 }
1814
1815 // 7 arguments --
1816 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
WrapTaskNMRet(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,R * r)1817 gmp_args_nm_7_ret<M, A0, A1, A2, A3, A4, A5, A6, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) {
1818 return new gmp_args_nm_7_ret<M, A0, A1, A2, A3, A4, A5, A6, R>
1819 (m, a0, a1, a2, a3, a4, a5, a6, r);
1820 }
1821
1822 // 7 arguments --
1823 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
WrapTask(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6)1824 gmp_args_m_7<C, M, A0, A1, A2, A3, A4, A5, A6>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) {
1825 return new gmp_args_m_7<C, M, A0, A1, A2, A3, A4, A5, A6>
1826 (o, m, a0, a1, a2, a3, a4, a5, a6);
1827 }
1828
1829 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1830 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6)1831 WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) {
1832 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6);
1833 return new RefCountTaskWrapper(t, o);
1834 }
1835
1836 // 7 arguments --
1837 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
WrapTaskRet(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,R * r)1838 gmp_args_m_7_ret<C, M, A0, A1, A2, A3, A4, A5, A6, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) {
1839 return new gmp_args_m_7_ret<C, M, A0, A1, A2, A3, A4, A5, A6, R>
1840 (o, m, a0, a1, a2, a3, a4, a5, a6, r);
1841 }
1842
1843 // 8 arguments --
1844 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
WrapTaskNM(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7)1845 gmp_args_nm_8<M, A0, A1, A2, A3, A4, A5, A6, A7>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) {
1846 return new gmp_args_nm_8<M, A0, A1, A2, A3, A4, A5, A6, A7>
1847 (m, a0, a1, a2, a3, a4, a5, a6, a7);
1848 }
1849
1850 // 8 arguments --
1851 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
WrapTaskNMRet(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,R * r)1852 gmp_args_nm_8_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) {
1853 return new gmp_args_nm_8_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, R>
1854 (m, a0, a1, a2, a3, a4, a5, a6, a7, r);
1855 }
1856
1857 // 8 arguments --
1858 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
WrapTask(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7)1859 gmp_args_m_8<C, M, A0, A1, A2, A3, A4, A5, A6, A7>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) {
1860 return new gmp_args_m_8<C, M, A0, A1, A2, A3, A4, A5, A6, A7>
1861 (o, m, a0, a1, a2, a3, a4, a5, a6, a7);
1862 }
1863
1864 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1865 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7)1866 WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) {
1867 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7);
1868 return new RefCountTaskWrapper(t, o);
1869 }
1870
1871 // 8 arguments --
1872 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
WrapTaskRet(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,R * r)1873 gmp_args_m_8_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, R>* WrapTaskRet (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) {
1874 return new gmp_args_m_8_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, R>
1875 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, r);
1876 }
1877
1878 // 9 arguments --
1879 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
WrapTaskNM(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8)1880 gmp_args_nm_9<M, A0, A1, A2, A3, A4, A5, A6, A7, A8>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) {
1881 return new gmp_args_nm_9<M, A0, A1, A2, A3, A4, A5, A6, A7, A8>
1882 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
1883 }
1884
1885 // 9 arguments --
1886 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R>
WrapTaskNMRet(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,R * r)1887 gmp_args_nm_9_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>* WrapTaskNMRet (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) {
1888 return new gmp_args_nm_9_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>
1889 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r);
1890 }
1891
1892 // 9 arguments --
1893 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
WrapTask(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8)1894 gmp_args_m_9<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8>* WrapTask (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) {
1895 return new gmp_args_m_9<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8>
1896 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
1897 }
1898
1899 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1900 GMPTask*
WrapTaskRefCounted(C o,M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8)1901 WrapTaskRefCounted (C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) {
1902 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
1903 return new RefCountTaskWrapper(t, o);
1904 }
1905
1906 // 9 arguments --
1907 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R>
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)1908 gmp_args_m_9_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>* 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) {
1909 return new gmp_args_m_9_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>
1910 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r);
1911 }
1912
1913 // 10 arguments --
1914 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
WrapTaskNM(M m,A0 a0,A1 a1,A2 a2,A3 a3,A4 a4,A5 a5,A6 a6,A7 a7,A8 a8,A9 a9)1915 gmp_args_nm_10<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>* WrapTaskNM (M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) {
1916 return new gmp_args_nm_10<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>
1917 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
1918 }
1919
1920 // 10 arguments --
1921 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R>
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)1922 gmp_args_nm_10_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>* 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) {
1923 return new gmp_args_nm_10_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>
1924 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r);
1925 }
1926
1927 // 10 arguments --
1928 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
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)1929 gmp_args_m_10<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>* 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) {
1930 return new gmp_args_m_10<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>
1931 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
1932 }
1933
1934 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1935 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)1936 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) {
1937 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
1938 return new RefCountTaskWrapper(t, o);
1939 }
1940
1941 // 10 arguments --
1942 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename R>
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)1943 gmp_args_m_10_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>* 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) {
1944 return new gmp_args_m_10_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>
1945 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r);
1946 }
1947
1948 // 11 arguments --
1949 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
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)1950 gmp_args_nm_11<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>* 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) {
1951 return new gmp_args_nm_11<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
1952 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
1953 }
1954
1955 // 11 arguments --
1956 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R>
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)1957 gmp_args_nm_11_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>* 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) {
1958 return new gmp_args_nm_11_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>
1959 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r);
1960 }
1961
1962 // 11 arguments --
1963 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
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)1964 gmp_args_m_11<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>* 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) {
1965 return new gmp_args_m_11<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
1966 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
1967 }
1968
1969 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
1970 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)1971 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) {
1972 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
1973 return new RefCountTaskWrapper(t, o);
1974 }
1975
1976 // 11 arguments --
1977 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename R>
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)1978 gmp_args_m_11_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>* 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) {
1979 return new gmp_args_m_11_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>
1980 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r);
1981 }
1982
1983 // 12 arguments --
1984 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
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)1985 gmp_args_nm_12<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>* 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) {
1986 return new gmp_args_nm_12<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>
1987 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
1988 }
1989
1990 // 12 arguments --
1991 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R>
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)1992 gmp_args_nm_12_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>* 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) {
1993 return new gmp_args_nm_12_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>
1994 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r);
1995 }
1996
1997 // 12 arguments --
1998 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
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)1999 gmp_args_m_12<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>* 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) {
2000 return new gmp_args_m_12<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>
2001 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
2002 }
2003
2004 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
2005 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)2006 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) {
2007 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
2008 return new RefCountTaskWrapper(t, o);
2009 }
2010
2011 // 12 arguments --
2012 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename R>
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)2013 gmp_args_m_12_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>* 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) {
2014 return new gmp_args_m_12_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>
2015 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r);
2016 }
2017
2018 // 13 arguments --
2019 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
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)2020 gmp_args_nm_13<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>* 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) {
2021 return new gmp_args_nm_13<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>
2022 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
2023 }
2024
2025 // 13 arguments --
2026 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R>
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)2027 gmp_args_nm_13_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>* 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) {
2028 return new gmp_args_nm_13_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>
2029 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r);
2030 }
2031
2032 // 13 arguments --
2033 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
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)2034 gmp_args_m_13<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>* 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) {
2035 return new gmp_args_m_13<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>
2036 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
2037 }
2038
2039 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
2040 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)2041 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) {
2042 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
2043 return new RefCountTaskWrapper(t, o);
2044 }
2045
2046 // 13 arguments --
2047 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename R>
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)2048 gmp_args_m_13_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>* 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) {
2049 return new gmp_args_m_13_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>
2050 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r);
2051 }
2052
2053 // 14 arguments --
2054 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
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)2055 gmp_args_nm_14<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>* 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) {
2056 return new gmp_args_nm_14<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
2057 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
2058 }
2059
2060 // 14 arguments --
2061 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R>
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)2062 gmp_args_nm_14_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>* 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) {
2063 return new gmp_args_nm_14_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>
2064 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r);
2065 }
2066
2067 // 14 arguments --
2068 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
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)2069 gmp_args_m_14<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>* 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) {
2070 return new gmp_args_m_14<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
2071 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
2072 }
2073
2074 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
2075 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)2076 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) {
2077 GMPTask *t = WrapTask (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
2078 return new RefCountTaskWrapper(t, o);
2079 }
2080
2081 // 14 arguments --
2082 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename R>
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)2083 gmp_args_m_14_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>* 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) {
2084 return new gmp_args_m_14_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>
2085 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r);
2086 }
2087
2088