Bumping manifests a=b2g-bump
[gecko.git] / media / mtransport / runnable_utils_generated.h
blobd349827dc92055dfc96b430ceb641aa0efc83b72
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/. */
6 // 0 arguments --
7 template<typename M> class runnable_args_nm_0 : public detail::runnable_args_base<detail::NoResult> {
8 public:
9 explicit runnable_args_nm_0(M m) :
10 m_(m) {}
12 NS_IMETHOD Run() {
13 m_();
14 return NS_OK;
17 private:
18 M m_;
23 // 0 arguments --
24 template<typename M, typename R> class runnable_args_nm_0_ret : public detail::runnable_args_base<detail::ReturnsResult> {
25 public:
26 runnable_args_nm_0_ret(M m, R *r) :
27 m_(m), r_(r) {}
29 NS_IMETHOD Run() {
30 *r_ = m_();
31 return NS_OK;
34 private:
35 M m_;
36 R* r_;
41 // 0 arguments --
42 template<typename C, typename M> class runnable_args_m_0 : public detail::runnable_args_base<detail::NoResult> {
43 public:
44 runnable_args_m_0(C o, M m) :
45 o_(o), m_(m) {}
47 NS_IMETHOD Run() {
48 ((*o_).*m_)();
49 return NS_OK;
52 private:
53 C o_;
54 M m_;
59 // 0 arguments --
60 template<typename C, typename M, typename R> class runnable_args_m_0_ret : public detail::runnable_args_base<detail::ReturnsResult> {
61 public:
62 runnable_args_m_0_ret(C o, M m, R *r) :
63 o_(o), m_(m), r_(r) {}
65 NS_IMETHOD Run() {
66 *r_ = ((*o_).*m_)();
67 return NS_OK;
70 private:
71 C o_;
72 M m_;
73 R* r_;
78 // 1 arguments --
79 template<typename M, typename A0> class runnable_args_nm_1 : public detail::runnable_args_base<detail::NoResult> {
80 public:
81 runnable_args_nm_1(M m, A0 a0) :
82 m_(m), a0_(a0) {}
84 NS_IMETHOD Run() {
85 m_(a0_);
86 return NS_OK;
89 private:
90 M m_;
91 A0 a0_;
96 // 1 arguments --
97 template<typename M, typename A0, typename R> class runnable_args_nm_1_ret : public detail::runnable_args_base<detail::ReturnsResult> {
98 public:
99 runnable_args_nm_1_ret(M m, A0 a0, R *r) :
100 m_(m), r_(r), a0_(a0) {}
102 NS_IMETHOD Run() {
103 *r_ = m_(a0_);
104 return NS_OK;
107 private:
108 M m_;
109 R* r_;
110 A0 a0_;
115 // 1 arguments --
116 template<typename C, typename M, typename A0> class runnable_args_m_1 : public detail::runnable_args_base<detail::NoResult> {
117 public:
118 runnable_args_m_1(C o, M m, A0 a0) :
119 o_(o), m_(m), a0_(a0) {}
121 NS_IMETHOD Run() {
122 ((*o_).*m_)(a0_);
123 return NS_OK;
126 private:
127 C o_;
128 M m_;
129 A0 a0_;
134 // 1 arguments --
135 template<typename C, typename M, typename A0, typename R> class runnable_args_m_1_ret : public detail::runnable_args_base<detail::ReturnsResult> {
136 public:
137 runnable_args_m_1_ret(C o, M m, A0 a0, R *r) :
138 o_(o), m_(m), r_(r), a0_(a0) {}
140 NS_IMETHOD Run() {
141 *r_ = ((*o_).*m_)(a0_);
142 return NS_OK;
145 private:
146 C o_;
147 M m_;
148 R* r_;
149 A0 a0_;
154 // 2 arguments --
155 template<typename M, typename A0, typename A1> class runnable_args_nm_2 : public detail::runnable_args_base<detail::NoResult> {
156 public:
157 runnable_args_nm_2(M m, A0 a0, A1 a1) :
158 m_(m), a0_(a0), a1_(a1) {}
160 NS_IMETHOD Run() {
161 m_(a0_, a1_);
162 return NS_OK;
165 private:
166 M m_;
167 A0 a0_;
168 A1 a1_;
173 // 2 arguments --
174 template<typename M, typename A0, typename A1, typename R> class runnable_args_nm_2_ret : public detail::runnable_args_base<detail::ReturnsResult> {
175 public:
176 runnable_args_nm_2_ret(M m, A0 a0, A1 a1, R *r) :
177 m_(m), r_(r), a0_(a0), a1_(a1) {}
179 NS_IMETHOD Run() {
180 *r_ = m_(a0_, a1_);
181 return NS_OK;
184 private:
185 M m_;
186 R* r_;
187 A0 a0_;
188 A1 a1_;
193 // 2 arguments --
194 template<typename C, typename M, typename A0, typename A1> class runnable_args_m_2 : public detail::runnable_args_base<detail::NoResult> {
195 public:
196 runnable_args_m_2(C o, M m, A0 a0, A1 a1) :
197 o_(o), m_(m), a0_(a0), a1_(a1) {}
199 NS_IMETHOD Run() {
200 ((*o_).*m_)(a0_, a1_);
201 return NS_OK;
204 private:
205 C o_;
206 M m_;
207 A0 a0_;
208 A1 a1_;
213 // 2 arguments --
214 template<typename C, typename M, typename A0, typename A1, typename R> class runnable_args_m_2_ret : public detail::runnable_args_base<detail::ReturnsResult> {
215 public:
216 runnable_args_m_2_ret(C o, M m, A0 a0, A1 a1, R *r) :
217 o_(o), m_(m), r_(r), a0_(a0), a1_(a1) {}
219 NS_IMETHOD Run() {
220 *r_ = ((*o_).*m_)(a0_, a1_);
221 return NS_OK;
224 private:
225 C o_;
226 M m_;
227 R* r_;
228 A0 a0_;
229 A1 a1_;
234 // 3 arguments --
235 template<typename M, typename A0, typename A1, typename A2> class runnable_args_nm_3 : public detail::runnable_args_base<detail::NoResult> {
236 public:
237 runnable_args_nm_3(M m, A0 a0, A1 a1, A2 a2) :
238 m_(m), a0_(a0), a1_(a1), a2_(a2) {}
240 NS_IMETHOD Run() {
241 m_(a0_, a1_, a2_);
242 return NS_OK;
245 private:
246 M m_;
247 A0 a0_;
248 A1 a1_;
249 A2 a2_;
254 // 3 arguments --
255 template<typename M, typename A0, typename A1, typename A2, typename R> class runnable_args_nm_3_ret : public detail::runnable_args_base<detail::ReturnsResult> {
256 public:
257 runnable_args_nm_3_ret(M m, A0 a0, A1 a1, A2 a2, R *r) :
258 m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2) {}
260 NS_IMETHOD Run() {
261 *r_ = m_(a0_, a1_, a2_);
262 return NS_OK;
265 private:
266 M m_;
267 R* r_;
268 A0 a0_;
269 A1 a1_;
270 A2 a2_;
275 // 3 arguments --
276 template<typename C, typename M, typename A0, typename A1, typename A2> class runnable_args_m_3 : public detail::runnable_args_base<detail::NoResult> {
277 public:
278 runnable_args_m_3(C o, M m, A0 a0, A1 a1, A2 a2) :
279 o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2) {}
281 NS_IMETHOD Run() {
282 ((*o_).*m_)(a0_, a1_, a2_);
283 return NS_OK;
286 private:
287 C o_;
288 M m_;
289 A0 a0_;
290 A1 a1_;
291 A2 a2_;
296 // 3 arguments --
297 template<typename C, typename M, typename A0, typename A1, typename A2, typename R> class runnable_args_m_3_ret : public detail::runnable_args_base<detail::ReturnsResult> {
298 public:
299 runnable_args_m_3_ret(C o, M m, A0 a0, A1 a1, A2 a2, R *r) :
300 o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2) {}
302 NS_IMETHOD Run() {
303 *r_ = ((*o_).*m_)(a0_, a1_, a2_);
304 return NS_OK;
307 private:
308 C o_;
309 M m_;
310 R* r_;
311 A0 a0_;
312 A1 a1_;
313 A2 a2_;
318 // 4 arguments --
319 template<typename M, typename A0, typename A1, typename A2, typename A3> class runnable_args_nm_4 : public detail::runnable_args_base<detail::NoResult> {
320 public:
321 runnable_args_nm_4(M m, A0 a0, A1 a1, A2 a2, A3 a3) :
322 m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3) {}
324 NS_IMETHOD Run() {
325 m_(a0_, a1_, a2_, a3_);
326 return NS_OK;
329 private:
330 M m_;
331 A0 a0_;
332 A1 a1_;
333 A2 a2_;
334 A3 a3_;
339 // 4 arguments --
340 template<typename M, typename A0, typename A1, typename A2, typename A3, typename R> class runnable_args_nm_4_ret : public detail::runnable_args_base<detail::ReturnsResult> {
341 public:
342 runnable_args_nm_4_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, R *r) :
343 m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3) {}
345 NS_IMETHOD Run() {
346 *r_ = m_(a0_, a1_, a2_, a3_);
347 return NS_OK;
350 private:
351 M m_;
352 R* r_;
353 A0 a0_;
354 A1 a1_;
355 A2 a2_;
356 A3 a3_;
361 // 4 arguments --
362 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3> class runnable_args_m_4 : public detail::runnable_args_base<detail::NoResult> {
363 public:
364 runnable_args_m_4(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) :
365 o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3) {}
367 NS_IMETHOD Run() {
368 ((*o_).*m_)(a0_, a1_, a2_, a3_);
369 return NS_OK;
372 private:
373 C o_;
374 M m_;
375 A0 a0_;
376 A1 a1_;
377 A2 a2_;
378 A3 a3_;
383 // 4 arguments --
384 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename R> class runnable_args_m_4_ret : public detail::runnable_args_base<detail::ReturnsResult> {
385 public:
386 runnable_args_m_4_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, R *r) :
387 o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3) {}
389 NS_IMETHOD Run() {
390 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_);
391 return NS_OK;
394 private:
395 C o_;
396 M m_;
397 R* r_;
398 A0 a0_;
399 A1 a1_;
400 A2 a2_;
401 A3 a3_;
406 // 5 arguments --
407 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class runnable_args_nm_5 : public detail::runnable_args_base<detail::NoResult> {
408 public:
409 runnable_args_nm_5(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) :
410 m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4) {}
412 NS_IMETHOD Run() {
413 m_(a0_, a1_, a2_, a3_, a4_);
414 return NS_OK;
417 private:
418 M m_;
419 A0 a0_;
420 A1 a1_;
421 A2 a2_;
422 A3 a3_;
423 A4 a4_;
428 // 5 arguments --
429 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class runnable_args_nm_5_ret : public detail::runnable_args_base<detail::ReturnsResult> {
430 public:
431 runnable_args_nm_5_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R *r) :
432 m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4) {}
434 NS_IMETHOD Run() {
435 *r_ = m_(a0_, a1_, a2_, a3_, a4_);
436 return NS_OK;
439 private:
440 M m_;
441 R* r_;
442 A0 a0_;
443 A1 a1_;
444 A2 a2_;
445 A3 a3_;
446 A4 a4_;
451 // 5 arguments --
452 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class runnable_args_m_5 : public detail::runnable_args_base<detail::NoResult> {
453 public:
454 runnable_args_m_5(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) :
455 o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4) {}
457 NS_IMETHOD Run() {
458 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_);
459 return NS_OK;
462 private:
463 C o_;
464 M m_;
465 A0 a0_;
466 A1 a1_;
467 A2 a2_;
468 A3 a3_;
469 A4 a4_;
474 // 5 arguments --
475 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class runnable_args_m_5_ret : public detail::runnable_args_base<detail::ReturnsResult> {
476 public:
477 runnable_args_m_5_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R *r) :
478 o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4) {}
480 NS_IMETHOD Run() {
481 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_);
482 return NS_OK;
485 private:
486 C o_;
487 M m_;
488 R* r_;
489 A0 a0_;
490 A1 a1_;
491 A2 a2_;
492 A3 a3_;
493 A4 a4_;
498 // 6 arguments --
499 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class runnable_args_nm_6 : public detail::runnable_args_base<detail::NoResult> {
500 public:
501 runnable_args_nm_6(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) :
502 m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5) {}
504 NS_IMETHOD Run() {
505 m_(a0_, a1_, a2_, a3_, a4_, a5_);
506 return NS_OK;
509 private:
510 M m_;
511 A0 a0_;
512 A1 a1_;
513 A2 a2_;
514 A3 a3_;
515 A4 a4_;
516 A5 a5_;
521 // 6 arguments --
522 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R> class runnable_args_nm_6_ret : public detail::runnable_args_base<detail::ReturnsResult> {
523 public:
524 runnable_args_nm_6_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R *r) :
525 m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5) {}
527 NS_IMETHOD Run() {
528 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_);
529 return NS_OK;
532 private:
533 M m_;
534 R* r_;
535 A0 a0_;
536 A1 a1_;
537 A2 a2_;
538 A3 a3_;
539 A4 a4_;
540 A5 a5_;
545 // 6 arguments --
546 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class runnable_args_m_6 : public detail::runnable_args_base<detail::NoResult> {
547 public:
548 runnable_args_m_6(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) :
549 o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5) {}
551 NS_IMETHOD Run() {
552 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_);
553 return NS_OK;
556 private:
557 C o_;
558 M m_;
559 A0 a0_;
560 A1 a1_;
561 A2 a2_;
562 A3 a3_;
563 A4 a4_;
564 A5 a5_;
569 // 6 arguments --
570 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R> class runnable_args_m_6_ret : public detail::runnable_args_base<detail::ReturnsResult> {
571 public:
572 runnable_args_m_6_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R *r) :
573 o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5) {}
575 NS_IMETHOD Run() {
576 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_);
577 return NS_OK;
580 private:
581 C o_;
582 M m_;
583 R* r_;
584 A0 a0_;
585 A1 a1_;
586 A2 a2_;
587 A3 a3_;
588 A4 a4_;
589 A5 a5_;
594 // 7 arguments --
595 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> class runnable_args_nm_7 : public detail::runnable_args_base<detail::NoResult> {
596 public:
597 runnable_args_nm_7(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) :
598 m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6) {}
600 NS_IMETHOD Run() {
601 m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_);
602 return NS_OK;
605 private:
606 M m_;
607 A0 a0_;
608 A1 a1_;
609 A2 a2_;
610 A3 a3_;
611 A4 a4_;
612 A5 a5_;
613 A6 a6_;
618 // 7 arguments --
619 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R> class runnable_args_nm_7_ret : public detail::runnable_args_base<detail::ReturnsResult> {
620 public:
621 runnable_args_nm_7_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R *r) :
622 m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6) {}
624 NS_IMETHOD Run() {
625 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_);
626 return NS_OK;
629 private:
630 M m_;
631 R* r_;
632 A0 a0_;
633 A1 a1_;
634 A2 a2_;
635 A3 a3_;
636 A4 a4_;
637 A5 a5_;
638 A6 a6_;
643 // 7 arguments --
644 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> class runnable_args_m_7 : public detail::runnable_args_base<detail::NoResult> {
645 public:
646 runnable_args_m_7(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) :
647 o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6) {}
649 NS_IMETHOD Run() {
650 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_);
651 return NS_OK;
654 private:
655 C o_;
656 M m_;
657 A0 a0_;
658 A1 a1_;
659 A2 a2_;
660 A3 a3_;
661 A4 a4_;
662 A5 a5_;
663 A6 a6_;
668 // 7 arguments --
669 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R> class runnable_args_m_7_ret : public detail::runnable_args_base<detail::ReturnsResult> {
670 public:
671 runnable_args_m_7_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R *r) :
672 o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6) {}
674 NS_IMETHOD Run() {
675 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_);
676 return NS_OK;
679 private:
680 C o_;
681 M m_;
682 R* r_;
683 A0 a0_;
684 A1 a1_;
685 A2 a2_;
686 A3 a3_;
687 A4 a4_;
688 A5 a5_;
689 A6 a6_;
694 // 8 arguments --
695 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7> class runnable_args_nm_8 : public detail::runnable_args_base<detail::NoResult> {
696 public:
697 runnable_args_nm_8(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) :
698 m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7) {}
700 NS_IMETHOD Run() {
701 m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
702 return NS_OK;
705 private:
706 M m_;
707 A0 a0_;
708 A1 a1_;
709 A2 a2_;
710 A3 a3_;
711 A4 a4_;
712 A5 a5_;
713 A6 a6_;
714 A7 a7_;
719 // 8 arguments --
720 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R> class runnable_args_nm_8_ret : public detail::runnable_args_base<detail::ReturnsResult> {
721 public:
722 runnable_args_nm_8_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R *r) :
723 m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7) {}
725 NS_IMETHOD Run() {
726 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
727 return NS_OK;
730 private:
731 M m_;
732 R* r_;
733 A0 a0_;
734 A1 a1_;
735 A2 a2_;
736 A3 a3_;
737 A4 a4_;
738 A5 a5_;
739 A6 a6_;
740 A7 a7_;
745 // 8 arguments --
746 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7> class runnable_args_m_8 : public detail::runnable_args_base<detail::NoResult> {
747 public:
748 runnable_args_m_8(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) :
749 o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7) {}
751 NS_IMETHOD Run() {
752 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
753 return NS_OK;
756 private:
757 C o_;
758 M m_;
759 A0 a0_;
760 A1 a1_;
761 A2 a2_;
762 A3 a3_;
763 A4 a4_;
764 A5 a5_;
765 A6 a6_;
766 A7 a7_;
771 // 8 arguments --
772 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R> class runnable_args_m_8_ret : public detail::runnable_args_base<detail::ReturnsResult> {
773 public:
774 runnable_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) :
775 o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7) {}
777 NS_IMETHOD Run() {
778 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
779 return NS_OK;
782 private:
783 C o_;
784 M m_;
785 R* r_;
786 A0 a0_;
787 A1 a1_;
788 A2 a2_;
789 A3 a3_;
790 A4 a4_;
791 A5 a5_;
792 A6 a6_;
793 A7 a7_;
798 // 9 arguments --
799 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8> class runnable_args_nm_9 : public detail::runnable_args_base<detail::NoResult> {
800 public:
801 runnable_args_nm_9(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) :
802 m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8) {}
804 NS_IMETHOD Run() {
805 m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
806 return NS_OK;
809 private:
810 M m_;
811 A0 a0_;
812 A1 a1_;
813 A2 a2_;
814 A3 a3_;
815 A4 a4_;
816 A5 a5_;
817 A6 a6_;
818 A7 a7_;
819 A8 a8_;
824 // 9 arguments --
825 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R> class runnable_args_nm_9_ret : public detail::runnable_args_base<detail::ReturnsResult> {
826 public:
827 runnable_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) :
828 m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8) {}
830 NS_IMETHOD Run() {
831 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
832 return NS_OK;
835 private:
836 M m_;
837 R* r_;
838 A0 a0_;
839 A1 a1_;
840 A2 a2_;
841 A3 a3_;
842 A4 a4_;
843 A5 a5_;
844 A6 a6_;
845 A7 a7_;
846 A8 a8_;
851 // 9 arguments --
852 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8> class runnable_args_m_9 : public detail::runnable_args_base<detail::NoResult> {
853 public:
854 runnable_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) :
855 o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8) {}
857 NS_IMETHOD Run() {
858 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
859 return NS_OK;
862 private:
863 C o_;
864 M m_;
865 A0 a0_;
866 A1 a1_;
867 A2 a2_;
868 A3 a3_;
869 A4 a4_;
870 A5 a5_;
871 A6 a6_;
872 A7 a7_;
873 A8 a8_;
878 // 9 arguments --
879 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 runnable_args_m_9_ret : public detail::runnable_args_base<detail::ReturnsResult> {
880 public:
881 runnable_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) :
882 o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8) {}
884 NS_IMETHOD Run() {
885 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
886 return NS_OK;
889 private:
890 C o_;
891 M m_;
892 R* r_;
893 A0 a0_;
894 A1 a1_;
895 A2 a2_;
896 A3 a3_;
897 A4 a4_;
898 A5 a5_;
899 A6 a6_;
900 A7 a7_;
901 A8 a8_;
906 // 10 arguments --
907 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9> class runnable_args_nm_10 : public detail::runnable_args_base<detail::NoResult> {
908 public:
909 runnable_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) :
910 m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9) {}
912 NS_IMETHOD Run() {
913 m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
914 return NS_OK;
917 private:
918 M m_;
919 A0 a0_;
920 A1 a1_;
921 A2 a2_;
922 A3 a3_;
923 A4 a4_;
924 A5 a5_;
925 A6 a6_;
926 A7 a7_;
927 A8 a8_;
928 A9 a9_;
933 // 10 arguments --
934 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 runnable_args_nm_10_ret : public detail::runnable_args_base<detail::ReturnsResult> {
935 public:
936 runnable_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) :
937 m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9) {}
939 NS_IMETHOD Run() {
940 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
941 return NS_OK;
944 private:
945 M m_;
946 R* r_;
947 A0 a0_;
948 A1 a1_;
949 A2 a2_;
950 A3 a3_;
951 A4 a4_;
952 A5 a5_;
953 A6 a6_;
954 A7 a7_;
955 A8 a8_;
956 A9 a9_;
961 // 10 arguments --
962 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 runnable_args_m_10 : public detail::runnable_args_base<detail::NoResult> {
963 public:
964 runnable_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) :
965 o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9) {}
967 NS_IMETHOD Run() {
968 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
969 return NS_OK;
972 private:
973 C o_;
974 M m_;
975 A0 a0_;
976 A1 a1_;
977 A2 a2_;
978 A3 a3_;
979 A4 a4_;
980 A5 a5_;
981 A6 a6_;
982 A7 a7_;
983 A8 a8_;
984 A9 a9_;
989 // 10 arguments --
990 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 runnable_args_m_10_ret : public detail::runnable_args_base<detail::ReturnsResult> {
991 public:
992 runnable_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) :
993 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) {}
995 NS_IMETHOD Run() {
996 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
997 return NS_OK;
1000 private:
1001 C o_;
1002 M m_;
1003 R* r_;
1004 A0 a0_;
1005 A1 a1_;
1006 A2 a2_;
1007 A3 a3_;
1008 A4 a4_;
1009 A5 a5_;
1010 A6 a6_;
1011 A7 a7_;
1012 A8 a8_;
1013 A9 a9_;
1018 // 11 arguments --
1019 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 runnable_args_nm_11 : public detail::runnable_args_base<detail::NoResult> {
1020 public:
1021 runnable_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) :
1022 m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10) {}
1024 NS_IMETHOD Run() {
1025 m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
1026 return NS_OK;
1029 private:
1030 M m_;
1031 A0 a0_;
1032 A1 a1_;
1033 A2 a2_;
1034 A3 a3_;
1035 A4 a4_;
1036 A5 a5_;
1037 A6 a6_;
1038 A7 a7_;
1039 A8 a8_;
1040 A9 a9_;
1041 A10 a10_;
1046 // 11 arguments --
1047 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 runnable_args_nm_11_ret : public detail::runnable_args_base<detail::ReturnsResult> {
1048 public:
1049 runnable_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) :
1050 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) {}
1052 NS_IMETHOD Run() {
1053 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
1054 return NS_OK;
1057 private:
1058 M m_;
1059 R* r_;
1060 A0 a0_;
1061 A1 a1_;
1062 A2 a2_;
1063 A3 a3_;
1064 A4 a4_;
1065 A5 a5_;
1066 A6 a6_;
1067 A7 a7_;
1068 A8 a8_;
1069 A9 a9_;
1070 A10 a10_;
1075 // 11 arguments --
1076 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 runnable_args_m_11 : public detail::runnable_args_base<detail::NoResult> {
1077 public:
1078 runnable_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) :
1079 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) {}
1081 NS_IMETHOD Run() {
1082 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
1083 return NS_OK;
1086 private:
1087 C o_;
1088 M m_;
1089 A0 a0_;
1090 A1 a1_;
1091 A2 a2_;
1092 A3 a3_;
1093 A4 a4_;
1094 A5 a5_;
1095 A6 a6_;
1096 A7 a7_;
1097 A8 a8_;
1098 A9 a9_;
1099 A10 a10_;
1104 // 11 arguments --
1105 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 runnable_args_m_11_ret : public detail::runnable_args_base<detail::ReturnsResult> {
1106 public:
1107 runnable_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) :
1108 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) {}
1110 NS_IMETHOD Run() {
1111 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
1112 return NS_OK;
1115 private:
1116 C o_;
1117 M m_;
1118 R* r_;
1119 A0 a0_;
1120 A1 a1_;
1121 A2 a2_;
1122 A3 a3_;
1123 A4 a4_;
1124 A5 a5_;
1125 A6 a6_;
1126 A7 a7_;
1127 A8 a8_;
1128 A9 a9_;
1129 A10 a10_;
1134 // 12 arguments --
1135 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 runnable_args_nm_12 : public detail::runnable_args_base<detail::NoResult> {
1136 public:
1137 runnable_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) :
1138 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) {}
1140 NS_IMETHOD Run() {
1141 m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
1142 return NS_OK;
1145 private:
1146 M m_;
1147 A0 a0_;
1148 A1 a1_;
1149 A2 a2_;
1150 A3 a3_;
1151 A4 a4_;
1152 A5 a5_;
1153 A6 a6_;
1154 A7 a7_;
1155 A8 a8_;
1156 A9 a9_;
1157 A10 a10_;
1158 A11 a11_;
1163 // 12 arguments --
1164 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 runnable_args_nm_12_ret : public detail::runnable_args_base<detail::ReturnsResult> {
1165 public:
1166 runnable_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) :
1167 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) {}
1169 NS_IMETHOD Run() {
1170 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
1171 return NS_OK;
1174 private:
1175 M m_;
1176 R* r_;
1177 A0 a0_;
1178 A1 a1_;
1179 A2 a2_;
1180 A3 a3_;
1181 A4 a4_;
1182 A5 a5_;
1183 A6 a6_;
1184 A7 a7_;
1185 A8 a8_;
1186 A9 a9_;
1187 A10 a10_;
1188 A11 a11_;
1193 // 12 arguments --
1194 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 runnable_args_m_12 : public detail::runnable_args_base<detail::NoResult> {
1195 public:
1196 runnable_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) :
1197 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) {}
1199 NS_IMETHOD Run() {
1200 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
1201 return NS_OK;
1204 private:
1205 C o_;
1206 M m_;
1207 A0 a0_;
1208 A1 a1_;
1209 A2 a2_;
1210 A3 a3_;
1211 A4 a4_;
1212 A5 a5_;
1213 A6 a6_;
1214 A7 a7_;
1215 A8 a8_;
1216 A9 a9_;
1217 A10 a10_;
1218 A11 a11_;
1223 // 12 arguments --
1224 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 runnable_args_m_12_ret : public detail::runnable_args_base<detail::ReturnsResult> {
1225 public:
1226 runnable_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) :
1227 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) {}
1229 NS_IMETHOD Run() {
1230 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
1231 return NS_OK;
1234 private:
1235 C o_;
1236 M m_;
1237 R* r_;
1238 A0 a0_;
1239 A1 a1_;
1240 A2 a2_;
1241 A3 a3_;
1242 A4 a4_;
1243 A5 a5_;
1244 A6 a6_;
1245 A7 a7_;
1246 A8 a8_;
1247 A9 a9_;
1248 A10 a10_;
1249 A11 a11_;
1254 // 13 arguments --
1255 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 runnable_args_nm_13 : public detail::runnable_args_base<detail::NoResult> {
1256 public:
1257 runnable_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) :
1258 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) {}
1260 NS_IMETHOD Run() {
1261 m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
1262 return NS_OK;
1265 private:
1266 M m_;
1267 A0 a0_;
1268 A1 a1_;
1269 A2 a2_;
1270 A3 a3_;
1271 A4 a4_;
1272 A5 a5_;
1273 A6 a6_;
1274 A7 a7_;
1275 A8 a8_;
1276 A9 a9_;
1277 A10 a10_;
1278 A11 a11_;
1279 A12 a12_;
1284 // 13 arguments --
1285 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 runnable_args_nm_13_ret : public detail::runnable_args_base<detail::ReturnsResult> {
1286 public:
1287 runnable_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) :
1288 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) {}
1290 NS_IMETHOD Run() {
1291 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
1292 return NS_OK;
1295 private:
1296 M m_;
1297 R* r_;
1298 A0 a0_;
1299 A1 a1_;
1300 A2 a2_;
1301 A3 a3_;
1302 A4 a4_;
1303 A5 a5_;
1304 A6 a6_;
1305 A7 a7_;
1306 A8 a8_;
1307 A9 a9_;
1308 A10 a10_;
1309 A11 a11_;
1310 A12 a12_;
1315 // 13 arguments --
1316 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 runnable_args_m_13 : public detail::runnable_args_base<detail::NoResult> {
1317 public:
1318 runnable_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) :
1319 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) {}
1321 NS_IMETHOD Run() {
1322 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
1323 return NS_OK;
1326 private:
1327 C o_;
1328 M m_;
1329 A0 a0_;
1330 A1 a1_;
1331 A2 a2_;
1332 A3 a3_;
1333 A4 a4_;
1334 A5 a5_;
1335 A6 a6_;
1336 A7 a7_;
1337 A8 a8_;
1338 A9 a9_;
1339 A10 a10_;
1340 A11 a11_;
1341 A12 a12_;
1346 // 13 arguments --
1347 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 runnable_args_m_13_ret : public detail::runnable_args_base<detail::ReturnsResult> {
1348 public:
1349 runnable_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) :
1350 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) {}
1352 NS_IMETHOD Run() {
1353 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
1354 return NS_OK;
1357 private:
1358 C o_;
1359 M m_;
1360 R* r_;
1361 A0 a0_;
1362 A1 a1_;
1363 A2 a2_;
1364 A3 a3_;
1365 A4 a4_;
1366 A5 a5_;
1367 A6 a6_;
1368 A7 a7_;
1369 A8 a8_;
1370 A9 a9_;
1371 A10 a10_;
1372 A11 a11_;
1373 A12 a12_;
1378 // 14 arguments --
1379 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 runnable_args_nm_14 : public detail::runnable_args_base<detail::NoResult> {
1380 public:
1381 runnable_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) :
1382 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) {}
1384 NS_IMETHOD Run() {
1385 m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
1386 return NS_OK;
1389 private:
1390 M m_;
1391 A0 a0_;
1392 A1 a1_;
1393 A2 a2_;
1394 A3 a3_;
1395 A4 a4_;
1396 A5 a5_;
1397 A6 a6_;
1398 A7 a7_;
1399 A8 a8_;
1400 A9 a9_;
1401 A10 a10_;
1402 A11 a11_;
1403 A12 a12_;
1404 A13 a13_;
1409 // 14 arguments --
1410 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 runnable_args_nm_14_ret : public detail::runnable_args_base<detail::ReturnsResult> {
1411 public:
1412 runnable_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) :
1413 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) {}
1415 NS_IMETHOD Run() {
1416 *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
1417 return NS_OK;
1420 private:
1421 M m_;
1422 R* r_;
1423 A0 a0_;
1424 A1 a1_;
1425 A2 a2_;
1426 A3 a3_;
1427 A4 a4_;
1428 A5 a5_;
1429 A6 a6_;
1430 A7 a7_;
1431 A8 a8_;
1432 A9 a9_;
1433 A10 a10_;
1434 A11 a11_;
1435 A12 a12_;
1436 A13 a13_;
1441 // 14 arguments --
1442 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 runnable_args_m_14 : public detail::runnable_args_base<detail::NoResult> {
1443 public:
1444 runnable_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) :
1445 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) {}
1447 NS_IMETHOD Run() {
1448 ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
1449 return NS_OK;
1452 private:
1453 C o_;
1454 M m_;
1455 A0 a0_;
1456 A1 a1_;
1457 A2 a2_;
1458 A3 a3_;
1459 A4 a4_;
1460 A5 a5_;
1461 A6 a6_;
1462 A7 a7_;
1463 A8 a8_;
1464 A9 a9_;
1465 A10 a10_;
1466 A11 a11_;
1467 A12 a12_;
1468 A13 a13_;
1473 // 14 arguments --
1474 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 runnable_args_m_14_ret : public detail::runnable_args_base<detail::ReturnsResult> {
1475 public:
1476 runnable_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) :
1477 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) {}
1479 NS_IMETHOD Run() {
1480 *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
1481 return NS_OK;
1484 private:
1485 C o_;
1486 M m_;
1487 R* r_;
1488 A0 a0_;
1489 A1 a1_;
1490 A2 a2_;
1491 A3 a3_;
1492 A4 a4_;
1493 A5 a5_;
1494 A6 a6_;
1495 A7 a7_;
1496 A8 a8_;
1497 A9 a9_;
1498 A10 a10_;
1499 A11 a11_;
1500 A12 a12_;
1501 A13 a13_;
1509 // 0 arguments --
1510 template<typename M>
1511 runnable_args_nm_0<M>* WrapRunnableNM(M m) {
1512 return new runnable_args_nm_0<M>
1513 (m);
1516 // 0 arguments --
1517 template<typename M, typename R>
1518 runnable_args_nm_0_ret<M, R>* WrapRunnableNMRet(M m, R* r) {
1519 return new runnable_args_nm_0_ret<M, R>
1520 (m, r);
1523 // 0 arguments --
1524 template<typename C, typename M>
1525 runnable_args_m_0<C, M>* WrapRunnable(C o, M m) {
1526 return new runnable_args_m_0<C, M>
1527 (o, m);
1530 // 0 arguments --
1531 template<typename C, typename M, typename R>
1532 runnable_args_m_0_ret<C, M, R>* WrapRunnableRet(C o, M m, R* r) {
1533 return new runnable_args_m_0_ret<C, M, R>
1534 (o, m, r);
1537 // 1 arguments --
1538 template<typename M, typename A0>
1539 runnable_args_nm_1<M, A0>* WrapRunnableNM(M m, A0 a0) {
1540 return new runnable_args_nm_1<M, A0>
1541 (m, a0);
1544 // 1 arguments --
1545 template<typename M, typename A0, typename R>
1546 runnable_args_nm_1_ret<M, A0, R>* WrapRunnableNMRet(M m, A0 a0, R* r) {
1547 return new runnable_args_nm_1_ret<M, A0, R>
1548 (m, a0, r);
1551 // 1 arguments --
1552 template<typename C, typename M, typename A0>
1553 runnable_args_m_1<C, M, A0>* WrapRunnable(C o, M m, A0 a0) {
1554 return new runnable_args_m_1<C, M, A0>
1555 (o, m, a0);
1558 // 1 arguments --
1559 template<typename C, typename M, typename A0, typename R>
1560 runnable_args_m_1_ret<C, M, A0, R>* WrapRunnableRet(C o, M m, A0 a0, R* r) {
1561 return new runnable_args_m_1_ret<C, M, A0, R>
1562 (o, m, a0, r);
1565 // 2 arguments --
1566 template<typename M, typename A0, typename A1>
1567 runnable_args_nm_2<M, A0, A1>* WrapRunnableNM(M m, A0 a0, A1 a1) {
1568 return new runnable_args_nm_2<M, A0, A1>
1569 (m, a0, a1);
1572 // 2 arguments --
1573 template<typename M, typename A0, typename A1, typename R>
1574 runnable_args_nm_2_ret<M, A0, A1, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, R* r) {
1575 return new runnable_args_nm_2_ret<M, A0, A1, R>
1576 (m, a0, a1, r);
1579 // 2 arguments --
1580 template<typename C, typename M, typename A0, typename A1>
1581 runnable_args_m_2<C, M, A0, A1>* WrapRunnable(C o, M m, A0 a0, A1 a1) {
1582 return new runnable_args_m_2<C, M, A0, A1>
1583 (o, m, a0, a1);
1586 // 2 arguments --
1587 template<typename C, typename M, typename A0, typename A1, typename R>
1588 runnable_args_m_2_ret<C, M, A0, A1, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, R* r) {
1589 return new runnable_args_m_2_ret<C, M, A0, A1, R>
1590 (o, m, a0, a1, r);
1593 // 3 arguments --
1594 template<typename M, typename A0, typename A1, typename A2>
1595 runnable_args_nm_3<M, A0, A1, A2>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2) {
1596 return new runnable_args_nm_3<M, A0, A1, A2>
1597 (m, a0, a1, a2);
1600 // 3 arguments --
1601 template<typename M, typename A0, typename A1, typename A2, typename R>
1602 runnable_args_nm_3_ret<M, A0, A1, A2, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, R* r) {
1603 return new runnable_args_nm_3_ret<M, A0, A1, A2, R>
1604 (m, a0, a1, a2, r);
1607 // 3 arguments --
1608 template<typename C, typename M, typename A0, typename A1, typename A2>
1609 runnable_args_m_3<C, M, A0, A1, A2>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2) {
1610 return new runnable_args_m_3<C, M, A0, A1, A2>
1611 (o, m, a0, a1, a2);
1614 // 3 arguments --
1615 template<typename C, typename M, typename A0, typename A1, typename A2, typename R>
1616 runnable_args_m_3_ret<C, M, A0, A1, A2, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, A2 a2, R* r) {
1617 return new runnable_args_m_3_ret<C, M, A0, A1, A2, R>
1618 (o, m, a0, a1, a2, r);
1621 // 4 arguments --
1622 template<typename M, typename A0, typename A1, typename A2, typename A3>
1623 runnable_args_nm_4<M, A0, A1, A2, A3>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3) {
1624 return new runnable_args_nm_4<M, A0, A1, A2, A3>
1625 (m, a0, a1, a2, a3);
1628 // 4 arguments --
1629 template<typename M, typename A0, typename A1, typename A2, typename A3, typename R>
1630 runnable_args_nm_4_ret<M, A0, A1, A2, A3, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) {
1631 return new runnable_args_nm_4_ret<M, A0, A1, A2, A3, R>
1632 (m, a0, a1, a2, a3, r);
1635 // 4 arguments --
1636 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3>
1637 runnable_args_m_4<C, M, A0, A1, A2, A3>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) {
1638 return new runnable_args_m_4<C, M, A0, A1, A2, A3>
1639 (o, m, a0, a1, a2, a3);
1642 // 4 arguments --
1643 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename R>
1644 runnable_args_m_4_ret<C, M, A0, A1, A2, A3, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) {
1645 return new runnable_args_m_4_ret<C, M, A0, A1, A2, A3, R>
1646 (o, m, a0, a1, a2, a3, r);
1649 // 5 arguments --
1650 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4>
1651 runnable_args_nm_5<M, A0, A1, A2, A3, A4>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) {
1652 return new runnable_args_nm_5<M, A0, A1, A2, A3, A4>
1653 (m, a0, a1, a2, a3, a4);
1656 // 5 arguments --
1657 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R>
1658 runnable_args_nm_5_ret<M, A0, A1, A2, A3, A4, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) {
1659 return new runnable_args_nm_5_ret<M, A0, A1, A2, A3, A4, R>
1660 (m, a0, a1, a2, a3, a4, r);
1663 // 5 arguments --
1664 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4>
1665 runnable_args_m_5<C, M, A0, A1, A2, A3, A4>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) {
1666 return new runnable_args_m_5<C, M, A0, A1, A2, A3, A4>
1667 (o, m, a0, a1, a2, a3, a4);
1670 // 5 arguments --
1671 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R>
1672 runnable_args_m_5_ret<C, M, A0, A1, A2, A3, A4, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R* r) {
1673 return new runnable_args_m_5_ret<C, M, A0, A1, A2, A3, A4, R>
1674 (o, m, a0, a1, a2, a3, a4, r);
1677 // 6 arguments --
1678 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
1679 runnable_args_nm_6<M, A0, A1, A2, A3, A4, A5>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
1680 return new runnable_args_nm_6<M, A0, A1, A2, A3, A4, A5>
1681 (m, a0, a1, a2, a3, a4, a5);
1684 // 6 arguments --
1685 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R>
1686 runnable_args_nm_6_ret<M, A0, A1, A2, A3, A4, A5, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) {
1687 return new runnable_args_nm_6_ret<M, A0, A1, A2, A3, A4, A5, R>
1688 (m, a0, a1, a2, a3, a4, a5, r);
1691 // 6 arguments --
1692 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
1693 runnable_args_m_6<C, M, A0, A1, A2, A3, A4, A5>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) {
1694 return new runnable_args_m_6<C, M, A0, A1, A2, A3, A4, A5>
1695 (o, m, a0, a1, a2, a3, a4, a5);
1698 // 6 arguments --
1699 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R>
1700 runnable_args_m_6_ret<C, M, A0, A1, A2, A3, A4, A5, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R* r) {
1701 return new runnable_args_m_6_ret<C, M, A0, A1, A2, A3, A4, A5, R>
1702 (o, m, a0, a1, a2, a3, a4, a5, r);
1705 // 7 arguments --
1706 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1707 runnable_args_nm_7<M, A0, A1, A2, A3, A4, A5, A6>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) {
1708 return new runnable_args_nm_7<M, A0, A1, A2, A3, A4, A5, A6>
1709 (m, a0, a1, a2, a3, a4, a5, a6);
1712 // 7 arguments --
1713 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
1714 runnable_args_nm_7_ret<M, A0, A1, A2, A3, A4, A5, A6, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) {
1715 return new runnable_args_nm_7_ret<M, A0, A1, A2, A3, A4, A5, A6, R>
1716 (m, a0, a1, a2, a3, a4, a5, a6, r);
1719 // 7 arguments --
1720 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
1721 runnable_args_m_7<C, M, A0, A1, A2, A3, A4, A5, A6>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) {
1722 return new runnable_args_m_7<C, M, A0, A1, A2, A3, A4, A5, A6>
1723 (o, m, a0, a1, a2, a3, a4, a5, a6);
1726 // 7 arguments --
1727 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
1728 runnable_args_m_7_ret<C, M, A0, A1, A2, A3, A4, A5, A6, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R* r) {
1729 return new runnable_args_m_7_ret<C, M, A0, A1, A2, A3, A4, A5, A6, R>
1730 (o, m, a0, a1, a2, a3, a4, a5, a6, r);
1733 // 8 arguments --
1734 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1735 runnable_args_nm_8<M, A0, A1, A2, A3, A4, A5, A6, A7>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) {
1736 return new runnable_args_nm_8<M, A0, A1, A2, A3, A4, A5, A6, A7>
1737 (m, a0, a1, a2, a3, a4, a5, a6, a7);
1740 // 8 arguments --
1741 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
1742 runnable_args_nm_8_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) {
1743 return new runnable_args_nm_8_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, R>
1744 (m, a0, a1, a2, a3, a4, a5, a6, a7, r);
1747 // 8 arguments --
1748 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
1749 runnable_args_m_8<C, M, A0, A1, A2, A3, A4, A5, A6, A7>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) {
1750 return new runnable_args_m_8<C, M, A0, A1, A2, A3, A4, A5, A6, A7>
1751 (o, m, a0, a1, a2, a3, a4, a5, a6, a7);
1754 // 8 arguments --
1755 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
1756 runnable_args_m_8_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, R* r) {
1757 return new runnable_args_m_8_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, R>
1758 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, r);
1761 // 9 arguments --
1762 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1763 runnable_args_nm_9<M, A0, A1, A2, A3, A4, A5, A6, A7, A8>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) {
1764 return new runnable_args_nm_9<M, A0, A1, A2, A3, A4, A5, A6, A7, A8>
1765 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
1768 // 9 arguments --
1769 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R>
1770 runnable_args_nm_9_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) {
1771 return new runnable_args_nm_9_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>
1772 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r);
1775 // 9 arguments --
1776 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
1777 runnable_args_m_9<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) {
1778 return new runnable_args_m_9<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8>
1779 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
1782 // 9 arguments --
1783 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>
1784 runnable_args_m_9_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, R* r) {
1785 return new runnable_args_m_9_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>
1786 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r);
1789 // 10 arguments --
1790 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
1791 runnable_args_nm_10<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) {
1792 return new runnable_args_nm_10<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>
1793 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
1796 // 10 arguments --
1797 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>
1798 runnable_args_nm_10_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, R* r) {
1799 return new runnable_args_nm_10_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>
1800 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r);
1803 // 10 arguments --
1804 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>
1805 runnable_args_m_10<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) {
1806 return new runnable_args_m_10<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>
1807 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
1810 // 10 arguments --
1811 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>
1812 runnable_args_m_10_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>* WrapRunnableRet(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) {
1813 return new runnable_args_m_10_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>
1814 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r);
1817 // 11 arguments --
1818 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>
1819 runnable_args_nm_11<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) {
1820 return new runnable_args_nm_11<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
1821 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
1824 // 11 arguments --
1825 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>
1826 runnable_args_nm_11_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>* WrapRunnableNMRet(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) {
1827 return new runnable_args_nm_11_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>
1828 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r);
1831 // 11 arguments --
1832 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>
1833 runnable_args_m_11<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>* WrapRunnable(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) {
1834 return new runnable_args_m_11<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
1835 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
1838 // 11 arguments --
1839 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>
1840 runnable_args_m_11_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>* WrapRunnableRet(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) {
1841 return new runnable_args_m_11_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>
1842 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r);
1845 // 12 arguments --
1846 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>
1847 runnable_args_nm_12<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>* WrapRunnableNM(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) {
1848 return new runnable_args_nm_12<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>
1849 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
1852 // 12 arguments --
1853 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>
1854 runnable_args_nm_12_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>* WrapRunnableNMRet(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) {
1855 return new runnable_args_nm_12_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>
1856 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r);
1859 // 12 arguments --
1860 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>
1861 runnable_args_m_12<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>* WrapRunnable(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) {
1862 return new runnable_args_m_12<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>
1863 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
1866 // 12 arguments --
1867 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>
1868 runnable_args_m_12_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>* WrapRunnableRet(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) {
1869 return new runnable_args_m_12_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>
1870 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r);
1873 // 13 arguments --
1874 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>
1875 runnable_args_nm_13<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>* WrapRunnableNM(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) {
1876 return new runnable_args_nm_13<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>
1877 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
1880 // 13 arguments --
1881 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>
1882 runnable_args_nm_13_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>* WrapRunnableNMRet(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) {
1883 return new runnable_args_nm_13_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>
1884 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r);
1887 // 13 arguments --
1888 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>
1889 runnable_args_m_13<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>* WrapRunnable(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) {
1890 return new runnable_args_m_13<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>
1891 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
1894 // 13 arguments --
1895 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>
1896 runnable_args_m_13_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>* WrapRunnableRet(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) {
1897 return new runnable_args_m_13_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>
1898 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r);
1901 // 14 arguments --
1902 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>
1903 runnable_args_nm_14<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>* WrapRunnableNM(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) {
1904 return new runnable_args_nm_14<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
1905 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
1908 // 14 arguments --
1909 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>
1910 runnable_args_nm_14_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>* WrapRunnableNMRet(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) {
1911 return new runnable_args_nm_14_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>
1912 (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r);
1915 // 14 arguments --
1916 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>
1917 runnable_args_m_14<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>* WrapRunnable(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) {
1918 return new runnable_args_m_14<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
1919 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
1922 // 14 arguments --
1923 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>
1924 runnable_args_m_14_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>* WrapRunnableRet(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) {
1925 return new runnable_args_m_14_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>
1926 (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r);