media/mtransport/runnable_utils_generated.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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 runnable_args_base {
     8  public:
     9   runnable_args_nm_0(M m) :
    10     m_(m)  {}
    12   NS_IMETHOD Run() {
    13     m_();
    14     return NS_OK;
    15   }
    17  private:
    18   M m_;
    19 };
    23 // 0 arguments --
    24 template<typename M, typename R> class runnable_args_nm_0_ret : public runnable_args_base {
    25  public:
    26   runnable_args_nm_0_ret(M m, R *r) :
    27     m_(m), r_(r)  {}
    28   virtual bool returns_value() const { return true; }
    30   NS_IMETHOD Run() {
    31     *r_ = m_();
    32     return NS_OK;
    33   }
    35  private:
    36   M m_;
    37   R* r_;
    38 };
    42 // 0 arguments --
    43 template<typename C, typename M> class runnable_args_m_0 : public runnable_args_base {
    44  public:
    45   runnable_args_m_0(C o, M m) :
    46     o_(o), m_(m)  {}
    48   NS_IMETHOD Run() {
    49     ((*o_).*m_)();
    50     return NS_OK;
    51   }
    53  private:
    54   C o_;
    55   M m_;
    56 };
    60 // 0 arguments --
    61 template<typename C, typename M, typename R> class runnable_args_m_0_ret : public runnable_args_base {
    62  public:
    63   runnable_args_m_0_ret(C o, M m, R *r) :
    64     o_(o), m_(m), r_(r)  {}
    65   virtual bool returns_value() const { return true; }
    67   NS_IMETHOD Run() {
    68     *r_ = ((*o_).*m_)();
    69     return NS_OK;
    70   }
    72  private:
    73   C o_;
    74   M m_;
    75   R* r_;
    76 };
    80 // 1 arguments --
    81 template<typename M, typename A0> class runnable_args_nm_1 : public runnable_args_base {
    82  public:
    83   runnable_args_nm_1(M m, A0 a0) :
    84     m_(m), a0_(a0)  {}
    86   NS_IMETHOD Run() {
    87     m_(a0_);
    88     return NS_OK;
    89   }
    91  private:
    92   M m_;
    93   A0 a0_;
    94 };
    98 // 1 arguments --
    99 template<typename M, typename A0, typename R> class runnable_args_nm_1_ret : public runnable_args_base {
   100  public:
   101   runnable_args_nm_1_ret(M m, A0 a0, R *r) :
   102     m_(m), r_(r), a0_(a0)  {}
   103   virtual bool returns_value() const { return true; }
   105   NS_IMETHOD Run() {
   106     *r_ = m_(a0_);
   107     return NS_OK;
   108   }
   110  private:
   111   M m_;
   112   R* r_;
   113   A0 a0_;
   114 };
   118 // 1 arguments --
   119 template<typename C, typename M, typename A0> class runnable_args_m_1 : public runnable_args_base {
   120  public:
   121   runnable_args_m_1(C o, M m, A0 a0) :
   122     o_(o), m_(m), a0_(a0)  {}
   124   NS_IMETHOD Run() {
   125     ((*o_).*m_)(a0_);
   126     return NS_OK;
   127   }
   129  private:
   130   C o_;
   131   M m_;
   132   A0 a0_;
   133 };
   137 // 1 arguments --
   138 template<typename C, typename M, typename A0, typename R> class runnable_args_m_1_ret : public runnable_args_base {
   139  public:
   140   runnable_args_m_1_ret(C o, M m, A0 a0, R *r) :
   141     o_(o), m_(m), r_(r), a0_(a0)  {}
   142   virtual bool returns_value() const { return true; }
   144   NS_IMETHOD Run() {
   145     *r_ = ((*o_).*m_)(a0_);
   146     return NS_OK;
   147   }
   149  private:
   150   C o_;
   151   M m_;
   152   R* r_;
   153   A0 a0_;
   154 };
   158 // 2 arguments --
   159 template<typename M, typename A0, typename A1> class runnable_args_nm_2 : public runnable_args_base {
   160  public:
   161   runnable_args_nm_2(M m, A0 a0, A1 a1) :
   162     m_(m), a0_(a0), a1_(a1)  {}
   164   NS_IMETHOD Run() {
   165     m_(a0_, a1_);
   166     return NS_OK;
   167   }
   169  private:
   170   M m_;
   171   A0 a0_;
   172   A1 a1_;
   173 };
   177 // 2 arguments --
   178 template<typename M, typename A0, typename A1, typename R> class runnable_args_nm_2_ret : public runnable_args_base {
   179  public:
   180   runnable_args_nm_2_ret(M m, A0 a0, A1 a1, R *r) :
   181     m_(m), r_(r), a0_(a0), a1_(a1)  {}
   182   virtual bool returns_value() const { return true; }
   184   NS_IMETHOD Run() {
   185     *r_ = m_(a0_, a1_);
   186     return NS_OK;
   187   }
   189  private:
   190   M m_;
   191   R* r_;
   192   A0 a0_;
   193   A1 a1_;
   194 };
   198 // 2 arguments --
   199 template<typename C, typename M, typename A0, typename A1> class runnable_args_m_2 : public runnable_args_base {
   200  public:
   201   runnable_args_m_2(C o, M m, A0 a0, A1 a1) :
   202     o_(o), m_(m), a0_(a0), a1_(a1)  {}
   204   NS_IMETHOD Run() {
   205     ((*o_).*m_)(a0_, a1_);
   206     return NS_OK;
   207   }
   209  private:
   210   C o_;
   211   M m_;
   212   A0 a0_;
   213   A1 a1_;
   214 };
   218 // 2 arguments --
   219 template<typename C, typename M, typename A0, typename A1, typename R> class runnable_args_m_2_ret : public runnable_args_base {
   220  public:
   221   runnable_args_m_2_ret(C o, M m, A0 a0, A1 a1, R *r) :
   222     o_(o), m_(m), r_(r), a0_(a0), a1_(a1)  {}
   223   virtual bool returns_value() const { return true; }
   225   NS_IMETHOD Run() {
   226     *r_ = ((*o_).*m_)(a0_, a1_);
   227     return NS_OK;
   228   }
   230  private:
   231   C o_;
   232   M m_;
   233   R* r_;
   234   A0 a0_;
   235   A1 a1_;
   236 };
   240 // 3 arguments --
   241 template<typename M, typename A0, typename A1, typename A2> class runnable_args_nm_3 : public runnable_args_base {
   242  public:
   243   runnable_args_nm_3(M m, A0 a0, A1 a1, A2 a2) :
   244     m_(m), a0_(a0), a1_(a1), a2_(a2)  {}
   246   NS_IMETHOD Run() {
   247     m_(a0_, a1_, a2_);
   248     return NS_OK;
   249   }
   251  private:
   252   M m_;
   253   A0 a0_;
   254   A1 a1_;
   255   A2 a2_;
   256 };
   260 // 3 arguments --
   261 template<typename M, typename A0, typename A1, typename A2, typename R> class runnable_args_nm_3_ret : public runnable_args_base {
   262  public:
   263   runnable_args_nm_3_ret(M m, A0 a0, A1 a1, A2 a2, R *r) :
   264     m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2)  {}
   265   virtual bool returns_value() const { return true; }
   267   NS_IMETHOD Run() {
   268     *r_ = m_(a0_, a1_, a2_);
   269     return NS_OK;
   270   }
   272  private:
   273   M m_;
   274   R* r_;
   275   A0 a0_;
   276   A1 a1_;
   277   A2 a2_;
   278 };
   282 // 3 arguments --
   283 template<typename C, typename M, typename A0, typename A1, typename A2> class runnable_args_m_3 : public runnable_args_base {
   284  public:
   285   runnable_args_m_3(C o, M m, A0 a0, A1 a1, A2 a2) :
   286     o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2)  {}
   288   NS_IMETHOD Run() {
   289     ((*o_).*m_)(a0_, a1_, a2_);
   290     return NS_OK;
   291   }
   293  private:
   294   C o_;
   295   M m_;
   296   A0 a0_;
   297   A1 a1_;
   298   A2 a2_;
   299 };
   303 // 3 arguments --
   304 template<typename C, typename M, typename A0, typename A1, typename A2, typename R> class runnable_args_m_3_ret : public runnable_args_base {
   305  public:
   306   runnable_args_m_3_ret(C o, M m, A0 a0, A1 a1, A2 a2, R *r) :
   307     o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2)  {}
   308   virtual bool returns_value() const { return true; }
   310   NS_IMETHOD Run() {
   311     *r_ = ((*o_).*m_)(a0_, a1_, a2_);
   312     return NS_OK;
   313   }
   315  private:
   316   C o_;
   317   M m_;
   318   R* r_;
   319   A0 a0_;
   320   A1 a1_;
   321   A2 a2_;
   322 };
   326 // 4 arguments --
   327 template<typename M, typename A0, typename A1, typename A2, typename A3> class runnable_args_nm_4 : public runnable_args_base {
   328  public:
   329   runnable_args_nm_4(M m, A0 a0, A1 a1, A2 a2, A3 a3) :
   330     m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3)  {}
   332   NS_IMETHOD Run() {
   333     m_(a0_, a1_, a2_, a3_);
   334     return NS_OK;
   335   }
   337  private:
   338   M m_;
   339   A0 a0_;
   340   A1 a1_;
   341   A2 a2_;
   342   A3 a3_;
   343 };
   347 // 4 arguments --
   348 template<typename M, typename A0, typename A1, typename A2, typename A3, typename R> class runnable_args_nm_4_ret : public runnable_args_base {
   349  public:
   350   runnable_args_nm_4_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, R *r) :
   351     m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3)  {}
   352   virtual bool returns_value() const { return true; }
   354   NS_IMETHOD Run() {
   355     *r_ = m_(a0_, a1_, a2_, a3_);
   356     return NS_OK;
   357   }
   359  private:
   360   M m_;
   361   R* r_;
   362   A0 a0_;
   363   A1 a1_;
   364   A2 a2_;
   365   A3 a3_;
   366 };
   370 // 4 arguments --
   371 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3> class runnable_args_m_4 : public runnable_args_base {
   372  public:
   373   runnable_args_m_4(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) :
   374     o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3)  {}
   376   NS_IMETHOD Run() {
   377     ((*o_).*m_)(a0_, a1_, a2_, a3_);
   378     return NS_OK;
   379   }
   381  private:
   382   C o_;
   383   M m_;
   384   A0 a0_;
   385   A1 a1_;
   386   A2 a2_;
   387   A3 a3_;
   388 };
   392 // 4 arguments --
   393 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename R> class runnable_args_m_4_ret : public runnable_args_base {
   394  public:
   395   runnable_args_m_4_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, R *r) :
   396     o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3)  {}
   397   virtual bool returns_value() const { return true; }
   399   NS_IMETHOD Run() {
   400     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_);
   401     return NS_OK;
   402   }
   404  private:
   405   C o_;
   406   M m_;
   407   R* r_;
   408   A0 a0_;
   409   A1 a1_;
   410   A2 a2_;
   411   A3 a3_;
   412 };
   416 // 5 arguments --
   417 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class runnable_args_nm_5 : public runnable_args_base {
   418  public:
   419   runnable_args_nm_5(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) :
   420     m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4)  {}
   422   NS_IMETHOD Run() {
   423     m_(a0_, a1_, a2_, a3_, a4_);
   424     return NS_OK;
   425   }
   427  private:
   428   M m_;
   429   A0 a0_;
   430   A1 a1_;
   431   A2 a2_;
   432   A3 a3_;
   433   A4 a4_;
   434 };
   438 // 5 arguments --
   439 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class runnable_args_nm_5_ret : public runnable_args_base {
   440  public:
   441   runnable_args_nm_5_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R *r) :
   442     m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4)  {}
   443   virtual bool returns_value() const { return true; }
   445   NS_IMETHOD Run() {
   446     *r_ = m_(a0_, a1_, a2_, a3_, a4_);
   447     return NS_OK;
   448   }
   450  private:
   451   M m_;
   452   R* r_;
   453   A0 a0_;
   454   A1 a1_;
   455   A2 a2_;
   456   A3 a3_;
   457   A4 a4_;
   458 };
   462 // 5 arguments --
   463 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4> class runnable_args_m_5 : public runnable_args_base {
   464  public:
   465   runnable_args_m_5(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) :
   466     o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4)  {}
   468   NS_IMETHOD Run() {
   469     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_);
   470     return NS_OK;
   471   }
   473  private:
   474   C o_;
   475   M m_;
   476   A0 a0_;
   477   A1 a1_;
   478   A2 a2_;
   479   A3 a3_;
   480   A4 a4_;
   481 };
   485 // 5 arguments --
   486 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R> class runnable_args_m_5_ret : public runnable_args_base {
   487  public:
   488   runnable_args_m_5_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, R *r) :
   489     o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4)  {}
   490   virtual bool returns_value() const { return true; }
   492   NS_IMETHOD Run() {
   493     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_);
   494     return NS_OK;
   495   }
   497  private:
   498   C o_;
   499   M m_;
   500   R* r_;
   501   A0 a0_;
   502   A1 a1_;
   503   A2 a2_;
   504   A3 a3_;
   505   A4 a4_;
   506 };
   510 // 6 arguments --
   511 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class runnable_args_nm_6 : public runnable_args_base {
   512  public:
   513   runnable_args_nm_6(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) :
   514     m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5)  {}
   516   NS_IMETHOD Run() {
   517     m_(a0_, a1_, a2_, a3_, a4_, a5_);
   518     return NS_OK;
   519   }
   521  private:
   522   M m_;
   523   A0 a0_;
   524   A1 a1_;
   525   A2 a2_;
   526   A3 a3_;
   527   A4 a4_;
   528   A5 a5_;
   529 };
   533 // 6 arguments --
   534 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R> class runnable_args_nm_6_ret : public runnable_args_base {
   535  public:
   536   runnable_args_nm_6_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R *r) :
   537     m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5)  {}
   538   virtual bool returns_value() const { return true; }
   540   NS_IMETHOD Run() {
   541     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_);
   542     return NS_OK;
   543   }
   545  private:
   546   M m_;
   547   R* r_;
   548   A0 a0_;
   549   A1 a1_;
   550   A2 a2_;
   551   A3 a3_;
   552   A4 a4_;
   553   A5 a5_;
   554 };
   558 // 6 arguments --
   559 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5> class runnable_args_m_6 : public runnable_args_base {
   560  public:
   561   runnable_args_m_6(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) :
   562     o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5)  {}
   564   NS_IMETHOD Run() {
   565     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_);
   566     return NS_OK;
   567   }
   569  private:
   570   C o_;
   571   M m_;
   572   A0 a0_;
   573   A1 a1_;
   574   A2 a2_;
   575   A3 a3_;
   576   A4 a4_;
   577   A5 a5_;
   578 };
   582 // 6 arguments --
   583 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 runnable_args_base {
   584  public:
   585   runnable_args_m_6_ret(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, R *r) :
   586     o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5)  {}
   587   virtual bool returns_value() const { return true; }
   589   NS_IMETHOD Run() {
   590     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_);
   591     return NS_OK;
   592   }
   594  private:
   595   C o_;
   596   M m_;
   597   R* r_;
   598   A0 a0_;
   599   A1 a1_;
   600   A2 a2_;
   601   A3 a3_;
   602   A4 a4_;
   603   A5 a5_;
   604 };
   608 // 7 arguments --
   609 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> class runnable_args_nm_7 : public runnable_args_base {
   610  public:
   611   runnable_args_nm_7(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) :
   612     m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6)  {}
   614   NS_IMETHOD Run() {
   615     m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_);
   616     return NS_OK;
   617   }
   619  private:
   620   M m_;
   621   A0 a0_;
   622   A1 a1_;
   623   A2 a2_;
   624   A3 a3_;
   625   A4 a4_;
   626   A5 a5_;
   627   A6 a6_;
   628 };
   632 // 7 arguments --
   633 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 runnable_args_base {
   634  public:
   635   runnable_args_nm_7_ret(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, R *r) :
   636     m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6)  {}
   637   virtual bool returns_value() const { return true; }
   639   NS_IMETHOD Run() {
   640     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_);
   641     return NS_OK;
   642   }
   644  private:
   645   M m_;
   646   R* r_;
   647   A0 a0_;
   648   A1 a1_;
   649   A2 a2_;
   650   A3 a3_;
   651   A4 a4_;
   652   A5 a5_;
   653   A6 a6_;
   654 };
   658 // 7 arguments --
   659 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 runnable_args_base {
   660  public:
   661   runnable_args_m_7(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) :
   662     o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6)  {}
   664   NS_IMETHOD Run() {
   665     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_);
   666     return NS_OK;
   667   }
   669  private:
   670   C o_;
   671   M m_;
   672   A0 a0_;
   673   A1 a1_;
   674   A2 a2_;
   675   A3 a3_;
   676   A4 a4_;
   677   A5 a5_;
   678   A6 a6_;
   679 };
   683 // 7 arguments --
   684 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 runnable_args_base {
   685  public:
   686   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) :
   687     o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6)  {}
   688   virtual bool returns_value() const { return true; }
   690   NS_IMETHOD Run() {
   691     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_);
   692     return NS_OK;
   693   }
   695  private:
   696   C o_;
   697   M m_;
   698   R* r_;
   699   A0 a0_;
   700   A1 a1_;
   701   A2 a2_;
   702   A3 a3_;
   703   A4 a4_;
   704   A5 a5_;
   705   A6 a6_;
   706 };
   710 // 8 arguments --
   711 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 runnable_args_base {
   712  public:
   713   runnable_args_nm_8(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) :
   714     m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7)  {}
   716   NS_IMETHOD Run() {
   717     m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
   718     return NS_OK;
   719   }
   721  private:
   722   M m_;
   723   A0 a0_;
   724   A1 a1_;
   725   A2 a2_;
   726   A3 a3_;
   727   A4 a4_;
   728   A5 a5_;
   729   A6 a6_;
   730   A7 a7_;
   731 };
   735 // 8 arguments --
   736 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 runnable_args_base {
   737  public:
   738   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) :
   739     m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7)  {}
   740   virtual bool returns_value() const { return true; }
   742   NS_IMETHOD Run() {
   743     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
   744     return NS_OK;
   745   }
   747  private:
   748   M m_;
   749   R* r_;
   750   A0 a0_;
   751   A1 a1_;
   752   A2 a2_;
   753   A3 a3_;
   754   A4 a4_;
   755   A5 a5_;
   756   A6 a6_;
   757   A7 a7_;
   758 };
   762 // 8 arguments --
   763 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 runnable_args_base {
   764  public:
   765   runnable_args_m_8(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) :
   766     o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7)  {}
   768   NS_IMETHOD Run() {
   769     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
   770     return NS_OK;
   771   }
   773  private:
   774   C o_;
   775   M m_;
   776   A0 a0_;
   777   A1 a1_;
   778   A2 a2_;
   779   A3 a3_;
   780   A4 a4_;
   781   A5 a5_;
   782   A6 a6_;
   783   A7 a7_;
   784 };
   788 // 8 arguments --
   789 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 runnable_args_base {
   790  public:
   791   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) :
   792     o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7)  {}
   793   virtual bool returns_value() const { return true; }
   795   NS_IMETHOD Run() {
   796     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_);
   797     return NS_OK;
   798   }
   800  private:
   801   C o_;
   802   M m_;
   803   R* r_;
   804   A0 a0_;
   805   A1 a1_;
   806   A2 a2_;
   807   A3 a3_;
   808   A4 a4_;
   809   A5 a5_;
   810   A6 a6_;
   811   A7 a7_;
   812 };
   816 // 9 arguments --
   817 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 runnable_args_base {
   818  public:
   819   runnable_args_nm_9(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) :
   820     m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8)  {}
   822   NS_IMETHOD Run() {
   823     m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
   824     return NS_OK;
   825   }
   827  private:
   828   M m_;
   829   A0 a0_;
   830   A1 a1_;
   831   A2 a2_;
   832   A3 a3_;
   833   A4 a4_;
   834   A5 a5_;
   835   A6 a6_;
   836   A7 a7_;
   837   A8 a8_;
   838 };
   842 // 9 arguments --
   843 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 runnable_args_base {
   844  public:
   845   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) :
   846     m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8)  {}
   847   virtual bool returns_value() const { return true; }
   849   NS_IMETHOD Run() {
   850     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
   851     return NS_OK;
   852   }
   854  private:
   855   M m_;
   856   R* r_;
   857   A0 a0_;
   858   A1 a1_;
   859   A2 a2_;
   860   A3 a3_;
   861   A4 a4_;
   862   A5 a5_;
   863   A6 a6_;
   864   A7 a7_;
   865   A8 a8_;
   866 };
   870 // 9 arguments --
   871 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 runnable_args_base {
   872  public:
   873   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) :
   874     o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8)  {}
   876   NS_IMETHOD Run() {
   877     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
   878     return NS_OK;
   879   }
   881  private:
   882   C o_;
   883   M m_;
   884   A0 a0_;
   885   A1 a1_;
   886   A2 a2_;
   887   A3 a3_;
   888   A4 a4_;
   889   A5 a5_;
   890   A6 a6_;
   891   A7 a7_;
   892   A8 a8_;
   893 };
   897 // 9 arguments --
   898 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 runnable_args_base {
   899  public:
   900   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) :
   901     o_(o), m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8)  {}
   902   virtual bool returns_value() const { return true; }
   904   NS_IMETHOD Run() {
   905     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_);
   906     return NS_OK;
   907   }
   909  private:
   910   C o_;
   911   M m_;
   912   R* r_;
   913   A0 a0_;
   914   A1 a1_;
   915   A2 a2_;
   916   A3 a3_;
   917   A4 a4_;
   918   A5 a5_;
   919   A6 a6_;
   920   A7 a7_;
   921   A8 a8_;
   922 };
   926 // 10 arguments --
   927 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 runnable_args_base {
   928  public:
   929   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) :
   930     m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9)  {}
   932   NS_IMETHOD Run() {
   933     m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
   934     return NS_OK;
   935   }
   937  private:
   938   M m_;
   939   A0 a0_;
   940   A1 a1_;
   941   A2 a2_;
   942   A3 a3_;
   943   A4 a4_;
   944   A5 a5_;
   945   A6 a6_;
   946   A7 a7_;
   947   A8 a8_;
   948   A9 a9_;
   949 };
   953 // 10 arguments --
   954 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 runnable_args_base {
   955  public:
   956   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) :
   957     m_(m), r_(r), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9)  {}
   958   virtual bool returns_value() const { return true; }
   960   NS_IMETHOD Run() {
   961     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
   962     return NS_OK;
   963   }
   965  private:
   966   M m_;
   967   R* r_;
   968   A0 a0_;
   969   A1 a1_;
   970   A2 a2_;
   971   A3 a3_;
   972   A4 a4_;
   973   A5 a5_;
   974   A6 a6_;
   975   A7 a7_;
   976   A8 a8_;
   977   A9 a9_;
   978 };
   982 // 10 arguments --
   983 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 runnable_args_base {
   984  public:
   985   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) :
   986     o_(o), m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9)  {}
   988   NS_IMETHOD Run() {
   989     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
   990     return NS_OK;
   991   }
   993  private:
   994   C o_;
   995   M m_;
   996   A0 a0_;
   997   A1 a1_;
   998   A2 a2_;
   999   A3 a3_;
  1000   A4 a4_;
  1001   A5 a5_;
  1002   A6 a6_;
  1003   A7 a7_;
  1004   A8 a8_;
  1005   A9 a9_;
  1006 };
  1010 // 10 arguments --
  1011 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 runnable_args_base {
  1012  public:
  1013   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) :
  1014     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)  {}
  1015   virtual bool returns_value() const { return true; }
  1017   NS_IMETHOD Run() {
  1018     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_);
  1019     return NS_OK;
  1022  private:
  1023   C o_;
  1024   M m_;
  1025   R* r_;
  1026   A0 a0_;
  1027   A1 a1_;
  1028   A2 a2_;
  1029   A3 a3_;
  1030   A4 a4_;
  1031   A5 a5_;
  1032   A6 a6_;
  1033   A7 a7_;
  1034   A8 a8_;
  1035   A9 a9_;
  1036 };
  1040 // 11 arguments --
  1041 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 runnable_args_base {
  1042  public:
  1043   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) :
  1044     m_(m), a0_(a0), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6), a7_(a7), a8_(a8), a9_(a9), a10_(a10)  {}
  1046   NS_IMETHOD Run() {
  1047     m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
  1048     return NS_OK;
  1051  private:
  1052   M m_;
  1053   A0 a0_;
  1054   A1 a1_;
  1055   A2 a2_;
  1056   A3 a3_;
  1057   A4 a4_;
  1058   A5 a5_;
  1059   A6 a6_;
  1060   A7 a7_;
  1061   A8 a8_;
  1062   A9 a9_;
  1063   A10 a10_;
  1064 };
  1068 // 11 arguments --
  1069 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 runnable_args_base {
  1070  public:
  1071   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) :
  1072     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)  {}
  1073   virtual bool returns_value() const { return true; }
  1075   NS_IMETHOD Run() {
  1076     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
  1077     return NS_OK;
  1080  private:
  1081   M m_;
  1082   R* r_;
  1083   A0 a0_;
  1084   A1 a1_;
  1085   A2 a2_;
  1086   A3 a3_;
  1087   A4 a4_;
  1088   A5 a5_;
  1089   A6 a6_;
  1090   A7 a7_;
  1091   A8 a8_;
  1092   A9 a9_;
  1093   A10 a10_;
  1094 };
  1098 // 11 arguments --
  1099 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 runnable_args_base {
  1100  public:
  1101   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) :
  1102     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)  {}
  1104   NS_IMETHOD Run() {
  1105     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
  1106     return NS_OK;
  1109  private:
  1110   C o_;
  1111   M m_;
  1112   A0 a0_;
  1113   A1 a1_;
  1114   A2 a2_;
  1115   A3 a3_;
  1116   A4 a4_;
  1117   A5 a5_;
  1118   A6 a6_;
  1119   A7 a7_;
  1120   A8 a8_;
  1121   A9 a9_;
  1122   A10 a10_;
  1123 };
  1127 // 11 arguments --
  1128 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 runnable_args_base {
  1129  public:
  1130   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) :
  1131     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)  {}
  1132   virtual bool returns_value() const { return true; }
  1134   NS_IMETHOD Run() {
  1135     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_);
  1136     return NS_OK;
  1139  private:
  1140   C o_;
  1141   M m_;
  1142   R* r_;
  1143   A0 a0_;
  1144   A1 a1_;
  1145   A2 a2_;
  1146   A3 a3_;
  1147   A4 a4_;
  1148   A5 a5_;
  1149   A6 a6_;
  1150   A7 a7_;
  1151   A8 a8_;
  1152   A9 a9_;
  1153   A10 a10_;
  1154 };
  1158 // 12 arguments --
  1159 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 runnable_args_base {
  1160  public:
  1161   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) :
  1162     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)  {}
  1164   NS_IMETHOD Run() {
  1165     m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
  1166     return NS_OK;
  1169  private:
  1170   M m_;
  1171   A0 a0_;
  1172   A1 a1_;
  1173   A2 a2_;
  1174   A3 a3_;
  1175   A4 a4_;
  1176   A5 a5_;
  1177   A6 a6_;
  1178   A7 a7_;
  1179   A8 a8_;
  1180   A9 a9_;
  1181   A10 a10_;
  1182   A11 a11_;
  1183 };
  1187 // 12 arguments --
  1188 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 runnable_args_base {
  1189  public:
  1190   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) :
  1191     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)  {}
  1192   virtual bool returns_value() const { return true; }
  1194   NS_IMETHOD Run() {
  1195     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
  1196     return NS_OK;
  1199  private:
  1200   M m_;
  1201   R* r_;
  1202   A0 a0_;
  1203   A1 a1_;
  1204   A2 a2_;
  1205   A3 a3_;
  1206   A4 a4_;
  1207   A5 a5_;
  1208   A6 a6_;
  1209   A7 a7_;
  1210   A8 a8_;
  1211   A9 a9_;
  1212   A10 a10_;
  1213   A11 a11_;
  1214 };
  1218 // 12 arguments --
  1219 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 runnable_args_base {
  1220  public:
  1221   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) :
  1222     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)  {}
  1224   NS_IMETHOD Run() {
  1225     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
  1226     return NS_OK;
  1229  private:
  1230   C o_;
  1231   M m_;
  1232   A0 a0_;
  1233   A1 a1_;
  1234   A2 a2_;
  1235   A3 a3_;
  1236   A4 a4_;
  1237   A5 a5_;
  1238   A6 a6_;
  1239   A7 a7_;
  1240   A8 a8_;
  1241   A9 a9_;
  1242   A10 a10_;
  1243   A11 a11_;
  1244 };
  1248 // 12 arguments --
  1249 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 runnable_args_base {
  1250  public:
  1251   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) :
  1252     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)  {}
  1253   virtual bool returns_value() const { return true; }
  1255   NS_IMETHOD Run() {
  1256     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_);
  1257     return NS_OK;
  1260  private:
  1261   C o_;
  1262   M m_;
  1263   R* r_;
  1264   A0 a0_;
  1265   A1 a1_;
  1266   A2 a2_;
  1267   A3 a3_;
  1268   A4 a4_;
  1269   A5 a5_;
  1270   A6 a6_;
  1271   A7 a7_;
  1272   A8 a8_;
  1273   A9 a9_;
  1274   A10 a10_;
  1275   A11 a11_;
  1276 };
  1280 // 13 arguments --
  1281 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 runnable_args_base {
  1282  public:
  1283   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) :
  1284     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)  {}
  1286   NS_IMETHOD Run() {
  1287     m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
  1288     return NS_OK;
  1291  private:
  1292   M m_;
  1293   A0 a0_;
  1294   A1 a1_;
  1295   A2 a2_;
  1296   A3 a3_;
  1297   A4 a4_;
  1298   A5 a5_;
  1299   A6 a6_;
  1300   A7 a7_;
  1301   A8 a8_;
  1302   A9 a9_;
  1303   A10 a10_;
  1304   A11 a11_;
  1305   A12 a12_;
  1306 };
  1310 // 13 arguments --
  1311 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 runnable_args_base {
  1312  public:
  1313   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) :
  1314     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)  {}
  1315   virtual bool returns_value() const { return true; }
  1317   NS_IMETHOD Run() {
  1318     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
  1319     return NS_OK;
  1322  private:
  1323   M m_;
  1324   R* r_;
  1325   A0 a0_;
  1326   A1 a1_;
  1327   A2 a2_;
  1328   A3 a3_;
  1329   A4 a4_;
  1330   A5 a5_;
  1331   A6 a6_;
  1332   A7 a7_;
  1333   A8 a8_;
  1334   A9 a9_;
  1335   A10 a10_;
  1336   A11 a11_;
  1337   A12 a12_;
  1338 };
  1342 // 13 arguments --
  1343 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 runnable_args_base {
  1344  public:
  1345   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) :
  1346     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)  {}
  1348   NS_IMETHOD Run() {
  1349     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
  1350     return NS_OK;
  1353  private:
  1354   C o_;
  1355   M m_;
  1356   A0 a0_;
  1357   A1 a1_;
  1358   A2 a2_;
  1359   A3 a3_;
  1360   A4 a4_;
  1361   A5 a5_;
  1362   A6 a6_;
  1363   A7 a7_;
  1364   A8 a8_;
  1365   A9 a9_;
  1366   A10 a10_;
  1367   A11 a11_;
  1368   A12 a12_;
  1369 };
  1373 // 13 arguments --
  1374 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 runnable_args_base {
  1375  public:
  1376   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) :
  1377     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)  {}
  1378   virtual bool returns_value() const { return true; }
  1380   NS_IMETHOD Run() {
  1381     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_);
  1382     return NS_OK;
  1385  private:
  1386   C o_;
  1387   M m_;
  1388   R* r_;
  1389   A0 a0_;
  1390   A1 a1_;
  1391   A2 a2_;
  1392   A3 a3_;
  1393   A4 a4_;
  1394   A5 a5_;
  1395   A6 a6_;
  1396   A7 a7_;
  1397   A8 a8_;
  1398   A9 a9_;
  1399   A10 a10_;
  1400   A11 a11_;
  1401   A12 a12_;
  1402 };
  1406 // 14 arguments --
  1407 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 runnable_args_base {
  1408  public:
  1409   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) :
  1410     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)  {}
  1412   NS_IMETHOD Run() {
  1413     m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
  1414     return NS_OK;
  1417  private:
  1418   M m_;
  1419   A0 a0_;
  1420   A1 a1_;
  1421   A2 a2_;
  1422   A3 a3_;
  1423   A4 a4_;
  1424   A5 a5_;
  1425   A6 a6_;
  1426   A7 a7_;
  1427   A8 a8_;
  1428   A9 a9_;
  1429   A10 a10_;
  1430   A11 a11_;
  1431   A12 a12_;
  1432   A13 a13_;
  1433 };
  1437 // 14 arguments --
  1438 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 runnable_args_base {
  1439  public:
  1440   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) :
  1441     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)  {}
  1442   virtual bool returns_value() const { return true; }
  1444   NS_IMETHOD Run() {
  1445     *r_ = m_(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
  1446     return NS_OK;
  1449  private:
  1450   M m_;
  1451   R* r_;
  1452   A0 a0_;
  1453   A1 a1_;
  1454   A2 a2_;
  1455   A3 a3_;
  1456   A4 a4_;
  1457   A5 a5_;
  1458   A6 a6_;
  1459   A7 a7_;
  1460   A8 a8_;
  1461   A9 a9_;
  1462   A10 a10_;
  1463   A11 a11_;
  1464   A12 a12_;
  1465   A13 a13_;
  1466 };
  1470 // 14 arguments --
  1471 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 runnable_args_base {
  1472  public:
  1473   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) :
  1474     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)  {}
  1476   NS_IMETHOD Run() {
  1477     ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
  1478     return NS_OK;
  1481  private:
  1482   C o_;
  1483   M m_;
  1484   A0 a0_;
  1485   A1 a1_;
  1486   A2 a2_;
  1487   A3 a3_;
  1488   A4 a4_;
  1489   A5 a5_;
  1490   A6 a6_;
  1491   A7 a7_;
  1492   A8 a8_;
  1493   A9 a9_;
  1494   A10 a10_;
  1495   A11 a11_;
  1496   A12 a12_;
  1497   A13 a13_;
  1498 };
  1502 // 14 arguments --
  1503 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 runnable_args_base {
  1504  public:
  1505   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) :
  1506     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)  {}
  1507   virtual bool returns_value() const { return true; }
  1509   NS_IMETHOD Run() {
  1510     *r_ = ((*o_).*m_)(a0_, a1_, a2_, a3_, a4_, a5_, a6_, a7_, a8_, a9_, a10_, a11_, a12_, a13_);
  1511     return NS_OK;
  1514  private:
  1515   C o_;
  1516   M m_;
  1517   R* r_;
  1518   A0 a0_;
  1519   A1 a1_;
  1520   A2 a2_;
  1521   A3 a3_;
  1522   A4 a4_;
  1523   A5 a5_;
  1524   A6 a6_;
  1525   A7 a7_;
  1526   A8 a8_;
  1527   A9 a9_;
  1528   A10 a10_;
  1529   A11 a11_;
  1530   A12 a12_;
  1531   A13 a13_;
  1532 };
  1539 // 0 arguments --
  1540 template<typename M>
  1541 runnable_args_nm_0<M>* WrapRunnableNM(M m) {
  1542   return new runnable_args_nm_0<M>
  1543     (m);
  1546 // 0 arguments --
  1547 template<typename M, typename R>
  1548 runnable_args_nm_0_ret<M, R>* WrapRunnableNMRet(M m, R* r) {
  1549   return new runnable_args_nm_0_ret<M, R>
  1550     (m, r);
  1553 // 0 arguments --
  1554 template<typename C, typename M>
  1555 runnable_args_m_0<C, M>* WrapRunnable(C o, M m) {
  1556   return new runnable_args_m_0<C, M>
  1557     (o, m);
  1560 // 0 arguments --
  1561 template<typename C, typename M, typename R>
  1562 runnable_args_m_0_ret<C, M, R>* WrapRunnableRet(C o, M m, R* r) {
  1563   return new runnable_args_m_0_ret<C, M, R>
  1564     (o, m, r);
  1567 // 1 arguments --
  1568 template<typename M, typename A0>
  1569 runnable_args_nm_1<M, A0>* WrapRunnableNM(M m, A0 a0) {
  1570   return new runnable_args_nm_1<M, A0>
  1571     (m, a0);
  1574 // 1 arguments --
  1575 template<typename M, typename A0, typename R>
  1576 runnable_args_nm_1_ret<M, A0, R>* WrapRunnableNMRet(M m, A0 a0, R* r) {
  1577   return new runnable_args_nm_1_ret<M, A0, R>
  1578     (m, a0, r);
  1581 // 1 arguments --
  1582 template<typename C, typename M, typename A0>
  1583 runnable_args_m_1<C, M, A0>* WrapRunnable(C o, M m, A0 a0) {
  1584   return new runnable_args_m_1<C, M, A0>
  1585     (o, m, a0);
  1588 // 1 arguments --
  1589 template<typename C, typename M, typename A0, typename R>
  1590 runnable_args_m_1_ret<C, M, A0, R>* WrapRunnableRet(C o, M m, A0 a0, R* r) {
  1591   return new runnable_args_m_1_ret<C, M, A0, R>
  1592     (o, m, a0, r);
  1595 // 2 arguments --
  1596 template<typename M, typename A0, typename A1>
  1597 runnable_args_nm_2<M, A0, A1>* WrapRunnableNM(M m, A0 a0, A1 a1) {
  1598   return new runnable_args_nm_2<M, A0, A1>
  1599     (m, a0, a1);
  1602 // 2 arguments --
  1603 template<typename M, typename A0, typename A1, typename R>
  1604 runnable_args_nm_2_ret<M, A0, A1, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, R* r) {
  1605   return new runnable_args_nm_2_ret<M, A0, A1, R>
  1606     (m, a0, a1, r);
  1609 // 2 arguments --
  1610 template<typename C, typename M, typename A0, typename A1>
  1611 runnable_args_m_2<C, M, A0, A1>* WrapRunnable(C o, M m, A0 a0, A1 a1) {
  1612   return new runnable_args_m_2<C, M, A0, A1>
  1613     (o, m, a0, a1);
  1616 // 2 arguments --
  1617 template<typename C, typename M, typename A0, typename A1, typename R>
  1618 runnable_args_m_2_ret<C, M, A0, A1, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, R* r) {
  1619   return new runnable_args_m_2_ret<C, M, A0, A1, R>
  1620     (o, m, a0, a1, r);
  1623 // 3 arguments --
  1624 template<typename M, typename A0, typename A1, typename A2>
  1625 runnable_args_nm_3<M, A0, A1, A2>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2) {
  1626   return new runnable_args_nm_3<M, A0, A1, A2>
  1627     (m, a0, a1, a2);
  1630 // 3 arguments --
  1631 template<typename M, typename A0, typename A1, typename A2, typename R>
  1632 runnable_args_nm_3_ret<M, A0, A1, A2, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, R* r) {
  1633   return new runnable_args_nm_3_ret<M, A0, A1, A2, R>
  1634     (m, a0, a1, a2, r);
  1637 // 3 arguments --
  1638 template<typename C, typename M, typename A0, typename A1, typename A2>
  1639 runnable_args_m_3<C, M, A0, A1, A2>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2) {
  1640   return new runnable_args_m_3<C, M, A0, A1, A2>
  1641     (o, m, a0, a1, a2);
  1644 // 3 arguments --
  1645 template<typename C, typename M, typename A0, typename A1, typename A2, typename R>
  1646 runnable_args_m_3_ret<C, M, A0, A1, A2, R>* WrapRunnableRet(C o, M m, A0 a0, A1 a1, A2 a2, R* r) {
  1647   return new runnable_args_m_3_ret<C, M, A0, A1, A2, R>
  1648     (o, m, a0, a1, a2, r);
  1651 // 4 arguments --
  1652 template<typename M, typename A0, typename A1, typename A2, typename A3>
  1653 runnable_args_nm_4<M, A0, A1, A2, A3>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3) {
  1654   return new runnable_args_nm_4<M, A0, A1, A2, A3>
  1655     (m, a0, a1, a2, a3);
  1658 // 4 arguments --
  1659 template<typename M, typename A0, typename A1, typename A2, typename A3, typename R>
  1660 runnable_args_nm_4_ret<M, A0, A1, A2, A3, R>* WrapRunnableNMRet(M m, A0 a0, A1 a1, A2 a2, A3 a3, R* r) {
  1661   return new runnable_args_nm_4_ret<M, A0, A1, A2, A3, R>
  1662     (m, a0, a1, a2, a3, r);
  1665 // 4 arguments --
  1666 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3>
  1667 runnable_args_m_4<C, M, A0, A1, A2, A3>* WrapRunnable(C o, M m, A0 a0, A1 a1, A2 a2, A3 a3) {
  1668   return new runnable_args_m_4<C, M, A0, A1, A2, A3>
  1669     (o, m, a0, a1, a2, a3);
  1672 // 4 arguments --
  1673 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename R>
  1674 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) {
  1675   return new runnable_args_m_4_ret<C, M, A0, A1, A2, A3, R>
  1676     (o, m, a0, a1, a2, a3, r);
  1679 // 5 arguments --
  1680 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4>
  1681 runnable_args_nm_5<M, A0, A1, A2, A3, A4>* WrapRunnableNM(M m, A0 a0, A1 a1, A2 a2, A3 a3, A4 a4) {
  1682   return new runnable_args_nm_5<M, A0, A1, A2, A3, A4>
  1683     (m, a0, a1, a2, a3, a4);
  1686 // 5 arguments --
  1687 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R>
  1688 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) {
  1689   return new runnable_args_nm_5_ret<M, A0, A1, A2, A3, A4, R>
  1690     (m, a0, a1, a2, a3, a4, r);
  1693 // 5 arguments --
  1694 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4>
  1695 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) {
  1696   return new runnable_args_m_5<C, M, A0, A1, A2, A3, A4>
  1697     (o, m, a0, a1, a2, a3, a4);
  1700 // 5 arguments --
  1701 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename R>
  1702 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) {
  1703   return new runnable_args_m_5_ret<C, M, A0, A1, A2, A3, A4, R>
  1704     (o, m, a0, a1, a2, a3, a4, r);
  1707 // 6 arguments --
  1708 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
  1709 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) {
  1710   return new runnable_args_nm_6<M, A0, A1, A2, A3, A4, A5>
  1711     (m, a0, a1, a2, a3, a4, a5);
  1714 // 6 arguments --
  1715 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R>
  1716 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) {
  1717   return new runnable_args_nm_6_ret<M, A0, A1, A2, A3, A4, A5, R>
  1718     (m, a0, a1, a2, a3, a4, a5, r);
  1721 // 6 arguments --
  1722 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5>
  1723 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) {
  1724   return new runnable_args_m_6<C, M, A0, A1, A2, A3, A4, A5>
  1725     (o, m, a0, a1, a2, a3, a4, a5);
  1728 // 6 arguments --
  1729 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename R>
  1730 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) {
  1731   return new runnable_args_m_6_ret<C, M, A0, A1, A2, A3, A4, A5, R>
  1732     (o, m, a0, a1, a2, a3, a4, a5, r);
  1735 // 7 arguments --
  1736 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
  1737 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) {
  1738   return new runnable_args_nm_7<M, A0, A1, A2, A3, A4, A5, A6>
  1739     (m, a0, a1, a2, a3, a4, a5, a6);
  1742 // 7 arguments --
  1743 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
  1744 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) {
  1745   return new runnable_args_nm_7_ret<M, A0, A1, A2, A3, A4, A5, A6, R>
  1746     (m, a0, a1, a2, a3, a4, a5, a6, r);
  1749 // 7 arguments --
  1750 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
  1751 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) {
  1752   return new runnable_args_m_7<C, M, A0, A1, A2, A3, A4, A5, A6>
  1753     (o, m, a0, a1, a2, a3, a4, a5, a6);
  1756 // 7 arguments --
  1757 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename R>
  1758 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) {
  1759   return new runnable_args_m_7_ret<C, M, A0, A1, A2, A3, A4, A5, A6, R>
  1760     (o, m, a0, a1, a2, a3, a4, a5, a6, r);
  1763 // 8 arguments --
  1764 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
  1765 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) {
  1766   return new runnable_args_nm_8<M, A0, A1, A2, A3, A4, A5, A6, A7>
  1767     (m, a0, a1, a2, a3, a4, a5, a6, a7);
  1770 // 8 arguments --
  1771 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
  1772 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) {
  1773   return new runnable_args_nm_8_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, R>
  1774     (m, a0, a1, a2, a3, a4, a5, a6, a7, r);
  1777 // 8 arguments --
  1778 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
  1779 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) {
  1780   return new runnable_args_m_8<C, M, A0, A1, A2, A3, A4, A5, A6, A7>
  1781     (o, m, a0, a1, a2, a3, a4, a5, a6, a7);
  1784 // 8 arguments --
  1785 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename R>
  1786 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) {
  1787   return new runnable_args_m_8_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, R>
  1788     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, r);
  1791 // 9 arguments --
  1792 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
  1793 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) {
  1794   return new runnable_args_nm_9<M, A0, A1, A2, A3, A4, A5, A6, A7, A8>
  1795     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
  1798 // 9 arguments --
  1799 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename R>
  1800 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) {
  1801   return new runnable_args_nm_9_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>
  1802     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r);
  1805 // 9 arguments --
  1806 template<typename C, typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
  1807 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) {
  1808   return new runnable_args_m_9<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8>
  1809     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8);
  1812 // 9 arguments --
  1813 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>
  1814 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) {
  1815   return new runnable_args_m_9_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, R>
  1816     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, r);
  1819 // 10 arguments --
  1820 template<typename M, typename A0, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
  1821 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) {
  1822   return new runnable_args_nm_10<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>
  1823     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  1826 // 10 arguments --
  1827 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>
  1828 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) {
  1829   return new runnable_args_nm_10_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>
  1830     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r);
  1833 // 10 arguments --
  1834 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>
  1835 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) {
  1836   return new runnable_args_m_10<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>
  1837     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
  1840 // 10 arguments --
  1841 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>
  1842 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) {
  1843   return new runnable_args_m_10_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, R>
  1844     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, r);
  1847 // 11 arguments --
  1848 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>
  1849 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) {
  1850   return new runnable_args_nm_11<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
  1851     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  1854 // 11 arguments --
  1855 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>
  1856 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) {
  1857   return new runnable_args_nm_11_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>
  1858     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r);
  1861 // 11 arguments --
  1862 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>
  1863 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) {
  1864   return new runnable_args_m_11<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
  1865     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
  1868 // 11 arguments --
  1869 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>
  1870 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) {
  1871   return new runnable_args_m_11_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, R>
  1872     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, r);
  1875 // 12 arguments --
  1876 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>
  1877 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) {
  1878   return new runnable_args_nm_12<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>
  1879     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
  1882 // 12 arguments --
  1883 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>
  1884 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) {
  1885   return new runnable_args_nm_12_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>
  1886     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r);
  1889 // 12 arguments --
  1890 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>
  1891 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) {
  1892   return new runnable_args_m_12<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>
  1893     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
  1896 // 12 arguments --
  1897 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>
  1898 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) {
  1899   return new runnable_args_m_12_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, R>
  1900     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, r);
  1903 // 13 arguments --
  1904 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>
  1905 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) {
  1906   return new runnable_args_nm_13<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>
  1907     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
  1910 // 13 arguments --
  1911 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>
  1912 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) {
  1913   return new runnable_args_nm_13_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>
  1914     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r);
  1917 // 13 arguments --
  1918 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>
  1919 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) {
  1920   return new runnable_args_m_13<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>
  1921     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
  1924 // 13 arguments --
  1925 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>
  1926 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) {
  1927   return new runnable_args_m_13_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, R>
  1928     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, r);
  1931 // 14 arguments --
  1932 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>
  1933 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) {
  1934   return new runnable_args_nm_14<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
  1935     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
  1938 // 14 arguments --
  1939 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>
  1940 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) {
  1941   return new runnable_args_nm_14_ret<M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>
  1942     (m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r);
  1945 // 14 arguments --
  1946 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>
  1947 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) {
  1948   return new runnable_args_m_14<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
  1949     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
  1952 // 14 arguments --
  1953 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>
  1954 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) {
  1955   return new runnable_args_m_14_ret<C, M, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, R>
  1956     (o, m, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, r);

mercurial