1 // -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; indent-tabs-mode: nil; -*-
2 //
3 // InternalFunctionWithStdFunction_call.h -- generated helper code for
4 //                                  InternalFunctionWithStdFunction.h
5 //                                  see rcpp-scripts repo for generator script
6 //
7 // Copyright (C) 2010 - 2014  Dirk Eddelbuettel and Romain Francois
8 //
9 // This file is part of Rcpp.
10 //
11 // Rcpp is free software: you can redistribute it and/or modify it
12 // under the terms of the GNU General Public License as published by
13 // the Free Software Foundation, either version 2 of the License, or
14 // (at your option) any later version.
15 //
16 // Rcpp is distributed in the hope that it will be useful, but
17 // WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 // GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with Rcpp.  If not, see <http://www.gnu.org/licenses/>.
23 
24 #ifndef Rcpp__generated__InternalFunctionWithStdFunction_calls_h
25 #define Rcpp__generated__InternalFunctionWithStdFunction_calls_h
26 
27 
28     template <typename RESULT_TYPE>
call(const std::function<RESULT_TYPE ()> & fun,SEXP * args)29     RESULT_TYPE call(const std::function<RESULT_TYPE()> &fun, SEXP* args) {
30         return fun();
31     }
32 
33 
34     template <typename RESULT_TYPE,typename U0>
call(const std::function<RESULT_TYPE (U0)> & fun,SEXP * args)35     RESULT_TYPE call(const std::function<RESULT_TYPE(U0)> &fun, SEXP* args) {
36         typename traits::input_parameter<U0>::type x0(args[0]);
37         return fun(x0);
38     }
39 
40 
41     template <typename RESULT_TYPE,typename U0, typename U1>
call(const std::function<RESULT_TYPE (U0,U1)> & fun,SEXP * args)42     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1)> &fun, SEXP* args) {
43         typename traits::input_parameter<U0>::type x0(args[0]);
44         typename traits::input_parameter<U1>::type x1(args[1]);
45         return fun(x0,x1);
46     }
47 
48 
49     template <typename RESULT_TYPE,typename U0, typename U1, typename U2>
call(const std::function<RESULT_TYPE (U0,U1,U2)> & fun,SEXP * args)50     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2)> &fun, SEXP* args) {
51         typename traits::input_parameter<U0>::type x0(args[0]);
52         typename traits::input_parameter<U1>::type x1(args[1]);
53         typename traits::input_parameter<U2>::type x2(args[2]);
54         return fun(x0,x1,x2);
55     }
56 
57 
58     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3)> & fun,SEXP * args)59     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3)> &fun, SEXP* args) {
60         typename traits::input_parameter<U0>::type x0(args[0]);
61         typename traits::input_parameter<U1>::type x1(args[1]);
62         typename traits::input_parameter<U2>::type x2(args[2]);
63         typename traits::input_parameter<U3>::type x3(args[3]);
64         return fun(x0,x1,x2,x3);
65     }
66 
67 
68     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4)> & fun,SEXP * args)69     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4)> &fun, SEXP* args) {
70         typename traits::input_parameter<U0>::type x0(args[0]);
71         typename traits::input_parameter<U1>::type x1(args[1]);
72         typename traits::input_parameter<U2>::type x2(args[2]);
73         typename traits::input_parameter<U3>::type x3(args[3]);
74         typename traits::input_parameter<U4>::type x4(args[4]);
75         return fun(x0,x1,x2,x3,x4);
76     }
77 
78 
79     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5)> & fun,SEXP * args)80     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5)> &fun, SEXP* args) {
81         typename traits::input_parameter<U0>::type x0(args[0]);
82         typename traits::input_parameter<U1>::type x1(args[1]);
83         typename traits::input_parameter<U2>::type x2(args[2]);
84         typename traits::input_parameter<U3>::type x3(args[3]);
85         typename traits::input_parameter<U4>::type x4(args[4]);
86         typename traits::input_parameter<U5>::type x5(args[5]);
87         return fun(x0,x1,x2,x3,x4,x5);
88     }
89 
90 
91     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6)> & fun,SEXP * args)92     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6)> &fun, SEXP* args) {
93         typename traits::input_parameter<U0>::type x0(args[0]);
94         typename traits::input_parameter<U1>::type x1(args[1]);
95         typename traits::input_parameter<U2>::type x2(args[2]);
96         typename traits::input_parameter<U3>::type x3(args[3]);
97         typename traits::input_parameter<U4>::type x4(args[4]);
98         typename traits::input_parameter<U5>::type x5(args[5]);
99         typename traits::input_parameter<U6>::type x6(args[6]);
100         return fun(x0,x1,x2,x3,x4,x5,x6);
101     }
102 
103 
104     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7)> & fun,SEXP * args)105     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7)> &fun, SEXP* args) {
106         typename traits::input_parameter<U0>::type x0(args[0]);
107         typename traits::input_parameter<U1>::type x1(args[1]);
108         typename traits::input_parameter<U2>::type x2(args[2]);
109         typename traits::input_parameter<U3>::type x3(args[3]);
110         typename traits::input_parameter<U4>::type x4(args[4]);
111         typename traits::input_parameter<U5>::type x5(args[5]);
112         typename traits::input_parameter<U6>::type x6(args[6]);
113         typename traits::input_parameter<U7>::type x7(args[7]);
114         return fun(x0,x1,x2,x3,x4,x5,x6,x7);
115     }
116 
117 
118     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8)> & fun,SEXP * args)119     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8)> &fun, SEXP* args) {
120         typename traits::input_parameter<U0>::type x0(args[0]);
121         typename traits::input_parameter<U1>::type x1(args[1]);
122         typename traits::input_parameter<U2>::type x2(args[2]);
123         typename traits::input_parameter<U3>::type x3(args[3]);
124         typename traits::input_parameter<U4>::type x4(args[4]);
125         typename traits::input_parameter<U5>::type x5(args[5]);
126         typename traits::input_parameter<U6>::type x6(args[6]);
127         typename traits::input_parameter<U7>::type x7(args[7]);
128         typename traits::input_parameter<U8>::type x8(args[8]);
129         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8);
130     }
131 
132 
133     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9)> & fun,SEXP * args)134     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9)> &fun, SEXP* args) {
135         typename traits::input_parameter<U0>::type x0(args[0]);
136         typename traits::input_parameter<U1>::type x1(args[1]);
137         typename traits::input_parameter<U2>::type x2(args[2]);
138         typename traits::input_parameter<U3>::type x3(args[3]);
139         typename traits::input_parameter<U4>::type x4(args[4]);
140         typename traits::input_parameter<U5>::type x5(args[5]);
141         typename traits::input_parameter<U6>::type x6(args[6]);
142         typename traits::input_parameter<U7>::type x7(args[7]);
143         typename traits::input_parameter<U8>::type x8(args[8]);
144         typename traits::input_parameter<U9>::type x9(args[9]);
145         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9);
146     }
147 
148 
149     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10)> & fun,SEXP * args)150     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10)> &fun, SEXP* args) {
151         typename traits::input_parameter<U0>::type x0(args[0]);
152         typename traits::input_parameter<U1>::type x1(args[1]);
153         typename traits::input_parameter<U2>::type x2(args[2]);
154         typename traits::input_parameter<U3>::type x3(args[3]);
155         typename traits::input_parameter<U4>::type x4(args[4]);
156         typename traits::input_parameter<U5>::type x5(args[5]);
157         typename traits::input_parameter<U6>::type x6(args[6]);
158         typename traits::input_parameter<U7>::type x7(args[7]);
159         typename traits::input_parameter<U8>::type x8(args[8]);
160         typename traits::input_parameter<U9>::type x9(args[9]);
161         typename traits::input_parameter<U10>::type x10(args[10]);
162         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10);
163     }
164 
165 
166     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11)> & fun,SEXP * args)167     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11)> &fun, SEXP* args) {
168         typename traits::input_parameter<U0>::type x0(args[0]);
169         typename traits::input_parameter<U1>::type x1(args[1]);
170         typename traits::input_parameter<U2>::type x2(args[2]);
171         typename traits::input_parameter<U3>::type x3(args[3]);
172         typename traits::input_parameter<U4>::type x4(args[4]);
173         typename traits::input_parameter<U5>::type x5(args[5]);
174         typename traits::input_parameter<U6>::type x6(args[6]);
175         typename traits::input_parameter<U7>::type x7(args[7]);
176         typename traits::input_parameter<U8>::type x8(args[8]);
177         typename traits::input_parameter<U9>::type x9(args[9]);
178         typename traits::input_parameter<U10>::type x10(args[10]);
179         typename traits::input_parameter<U11>::type x11(args[11]);
180         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11);
181     }
182 
183 
184     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12)> & fun,SEXP * args)185     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12)> &fun, SEXP* args) {
186         typename traits::input_parameter<U0>::type x0(args[0]);
187         typename traits::input_parameter<U1>::type x1(args[1]);
188         typename traits::input_parameter<U2>::type x2(args[2]);
189         typename traits::input_parameter<U3>::type x3(args[3]);
190         typename traits::input_parameter<U4>::type x4(args[4]);
191         typename traits::input_parameter<U5>::type x5(args[5]);
192         typename traits::input_parameter<U6>::type x6(args[6]);
193         typename traits::input_parameter<U7>::type x7(args[7]);
194         typename traits::input_parameter<U8>::type x8(args[8]);
195         typename traits::input_parameter<U9>::type x9(args[9]);
196         typename traits::input_parameter<U10>::type x10(args[10]);
197         typename traits::input_parameter<U11>::type x11(args[11]);
198         typename traits::input_parameter<U12>::type x12(args[12]);
199         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12);
200     }
201 
202 
203     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13)> & fun,SEXP * args)204     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13)> &fun, SEXP* args) {
205         typename traits::input_parameter<U0>::type x0(args[0]);
206         typename traits::input_parameter<U1>::type x1(args[1]);
207         typename traits::input_parameter<U2>::type x2(args[2]);
208         typename traits::input_parameter<U3>::type x3(args[3]);
209         typename traits::input_parameter<U4>::type x4(args[4]);
210         typename traits::input_parameter<U5>::type x5(args[5]);
211         typename traits::input_parameter<U6>::type x6(args[6]);
212         typename traits::input_parameter<U7>::type x7(args[7]);
213         typename traits::input_parameter<U8>::type x8(args[8]);
214         typename traits::input_parameter<U9>::type x9(args[9]);
215         typename traits::input_parameter<U10>::type x10(args[10]);
216         typename traits::input_parameter<U11>::type x11(args[11]);
217         typename traits::input_parameter<U12>::type x12(args[12]);
218         typename traits::input_parameter<U13>::type x13(args[13]);
219         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13);
220     }
221 
222 
223     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14)> & fun,SEXP * args)224     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14)> &fun, SEXP* args) {
225         typename traits::input_parameter<U0>::type x0(args[0]);
226         typename traits::input_parameter<U1>::type x1(args[1]);
227         typename traits::input_parameter<U2>::type x2(args[2]);
228         typename traits::input_parameter<U3>::type x3(args[3]);
229         typename traits::input_parameter<U4>::type x4(args[4]);
230         typename traits::input_parameter<U5>::type x5(args[5]);
231         typename traits::input_parameter<U6>::type x6(args[6]);
232         typename traits::input_parameter<U7>::type x7(args[7]);
233         typename traits::input_parameter<U8>::type x8(args[8]);
234         typename traits::input_parameter<U9>::type x9(args[9]);
235         typename traits::input_parameter<U10>::type x10(args[10]);
236         typename traits::input_parameter<U11>::type x11(args[11]);
237         typename traits::input_parameter<U12>::type x12(args[12]);
238         typename traits::input_parameter<U13>::type x13(args[13]);
239         typename traits::input_parameter<U14>::type x14(args[14]);
240         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14);
241     }
242 
243 
244     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15)> & fun,SEXP * args)245     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15)> &fun, SEXP* args) {
246         typename traits::input_parameter<U0>::type x0(args[0]);
247         typename traits::input_parameter<U1>::type x1(args[1]);
248         typename traits::input_parameter<U2>::type x2(args[2]);
249         typename traits::input_parameter<U3>::type x3(args[3]);
250         typename traits::input_parameter<U4>::type x4(args[4]);
251         typename traits::input_parameter<U5>::type x5(args[5]);
252         typename traits::input_parameter<U6>::type x6(args[6]);
253         typename traits::input_parameter<U7>::type x7(args[7]);
254         typename traits::input_parameter<U8>::type x8(args[8]);
255         typename traits::input_parameter<U9>::type x9(args[9]);
256         typename traits::input_parameter<U10>::type x10(args[10]);
257         typename traits::input_parameter<U11>::type x11(args[11]);
258         typename traits::input_parameter<U12>::type x12(args[12]);
259         typename traits::input_parameter<U13>::type x13(args[13]);
260         typename traits::input_parameter<U14>::type x14(args[14]);
261         typename traits::input_parameter<U15>::type x15(args[15]);
262         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15);
263     }
264 
265 
266     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16)> & fun,SEXP * args)267     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16)> &fun, SEXP* args) {
268         typename traits::input_parameter<U0>::type x0(args[0]);
269         typename traits::input_parameter<U1>::type x1(args[1]);
270         typename traits::input_parameter<U2>::type x2(args[2]);
271         typename traits::input_parameter<U3>::type x3(args[3]);
272         typename traits::input_parameter<U4>::type x4(args[4]);
273         typename traits::input_parameter<U5>::type x5(args[5]);
274         typename traits::input_parameter<U6>::type x6(args[6]);
275         typename traits::input_parameter<U7>::type x7(args[7]);
276         typename traits::input_parameter<U8>::type x8(args[8]);
277         typename traits::input_parameter<U9>::type x9(args[9]);
278         typename traits::input_parameter<U10>::type x10(args[10]);
279         typename traits::input_parameter<U11>::type x11(args[11]);
280         typename traits::input_parameter<U12>::type x12(args[12]);
281         typename traits::input_parameter<U13>::type x13(args[13]);
282         typename traits::input_parameter<U14>::type x14(args[14]);
283         typename traits::input_parameter<U15>::type x15(args[15]);
284         typename traits::input_parameter<U16>::type x16(args[16]);
285         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16);
286     }
287 
288 
289     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17)> & fun,SEXP * args)290     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17)> &fun, SEXP* args) {
291         typename traits::input_parameter<U0>::type x0(args[0]);
292         typename traits::input_parameter<U1>::type x1(args[1]);
293         typename traits::input_parameter<U2>::type x2(args[2]);
294         typename traits::input_parameter<U3>::type x3(args[3]);
295         typename traits::input_parameter<U4>::type x4(args[4]);
296         typename traits::input_parameter<U5>::type x5(args[5]);
297         typename traits::input_parameter<U6>::type x6(args[6]);
298         typename traits::input_parameter<U7>::type x7(args[7]);
299         typename traits::input_parameter<U8>::type x8(args[8]);
300         typename traits::input_parameter<U9>::type x9(args[9]);
301         typename traits::input_parameter<U10>::type x10(args[10]);
302         typename traits::input_parameter<U11>::type x11(args[11]);
303         typename traits::input_parameter<U12>::type x12(args[12]);
304         typename traits::input_parameter<U13>::type x13(args[13]);
305         typename traits::input_parameter<U14>::type x14(args[14]);
306         typename traits::input_parameter<U15>::type x15(args[15]);
307         typename traits::input_parameter<U16>::type x16(args[16]);
308         typename traits::input_parameter<U17>::type x17(args[17]);
309         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17);
310     }
311 
312 
313     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18)> & fun,SEXP * args)314     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18)> &fun, SEXP* args) {
315         typename traits::input_parameter<U0>::type x0(args[0]);
316         typename traits::input_parameter<U1>::type x1(args[1]);
317         typename traits::input_parameter<U2>::type x2(args[2]);
318         typename traits::input_parameter<U3>::type x3(args[3]);
319         typename traits::input_parameter<U4>::type x4(args[4]);
320         typename traits::input_parameter<U5>::type x5(args[5]);
321         typename traits::input_parameter<U6>::type x6(args[6]);
322         typename traits::input_parameter<U7>::type x7(args[7]);
323         typename traits::input_parameter<U8>::type x8(args[8]);
324         typename traits::input_parameter<U9>::type x9(args[9]);
325         typename traits::input_parameter<U10>::type x10(args[10]);
326         typename traits::input_parameter<U11>::type x11(args[11]);
327         typename traits::input_parameter<U12>::type x12(args[12]);
328         typename traits::input_parameter<U13>::type x13(args[13]);
329         typename traits::input_parameter<U14>::type x14(args[14]);
330         typename traits::input_parameter<U15>::type x15(args[15]);
331         typename traits::input_parameter<U16>::type x16(args[16]);
332         typename traits::input_parameter<U17>::type x17(args[17]);
333         typename traits::input_parameter<U18>::type x18(args[18]);
334         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18);
335     }
336 
337 
338     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19)> & fun,SEXP * args)339     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19)> &fun, SEXP* args) {
340         typename traits::input_parameter<U0>::type x0(args[0]);
341         typename traits::input_parameter<U1>::type x1(args[1]);
342         typename traits::input_parameter<U2>::type x2(args[2]);
343         typename traits::input_parameter<U3>::type x3(args[3]);
344         typename traits::input_parameter<U4>::type x4(args[4]);
345         typename traits::input_parameter<U5>::type x5(args[5]);
346         typename traits::input_parameter<U6>::type x6(args[6]);
347         typename traits::input_parameter<U7>::type x7(args[7]);
348         typename traits::input_parameter<U8>::type x8(args[8]);
349         typename traits::input_parameter<U9>::type x9(args[9]);
350         typename traits::input_parameter<U10>::type x10(args[10]);
351         typename traits::input_parameter<U11>::type x11(args[11]);
352         typename traits::input_parameter<U12>::type x12(args[12]);
353         typename traits::input_parameter<U13>::type x13(args[13]);
354         typename traits::input_parameter<U14>::type x14(args[14]);
355         typename traits::input_parameter<U15>::type x15(args[15]);
356         typename traits::input_parameter<U16>::type x16(args[16]);
357         typename traits::input_parameter<U17>::type x17(args[17]);
358         typename traits::input_parameter<U18>::type x18(args[18]);
359         typename traits::input_parameter<U19>::type x19(args[19]);
360         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19);
361     }
362 
363 
364     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20)> & fun,SEXP * args)365     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20)> &fun, SEXP* args) {
366         typename traits::input_parameter<U0>::type x0(args[0]);
367         typename traits::input_parameter<U1>::type x1(args[1]);
368         typename traits::input_parameter<U2>::type x2(args[2]);
369         typename traits::input_parameter<U3>::type x3(args[3]);
370         typename traits::input_parameter<U4>::type x4(args[4]);
371         typename traits::input_parameter<U5>::type x5(args[5]);
372         typename traits::input_parameter<U6>::type x6(args[6]);
373         typename traits::input_parameter<U7>::type x7(args[7]);
374         typename traits::input_parameter<U8>::type x8(args[8]);
375         typename traits::input_parameter<U9>::type x9(args[9]);
376         typename traits::input_parameter<U10>::type x10(args[10]);
377         typename traits::input_parameter<U11>::type x11(args[11]);
378         typename traits::input_parameter<U12>::type x12(args[12]);
379         typename traits::input_parameter<U13>::type x13(args[13]);
380         typename traits::input_parameter<U14>::type x14(args[14]);
381         typename traits::input_parameter<U15>::type x15(args[15]);
382         typename traits::input_parameter<U16>::type x16(args[16]);
383         typename traits::input_parameter<U17>::type x17(args[17]);
384         typename traits::input_parameter<U18>::type x18(args[18]);
385         typename traits::input_parameter<U19>::type x19(args[19]);
386         typename traits::input_parameter<U20>::type x20(args[20]);
387         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20);
388     }
389 
390 
391     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21)> & fun,SEXP * args)392     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21)> &fun, SEXP* args) {
393         typename traits::input_parameter<U0>::type x0(args[0]);
394         typename traits::input_parameter<U1>::type x1(args[1]);
395         typename traits::input_parameter<U2>::type x2(args[2]);
396         typename traits::input_parameter<U3>::type x3(args[3]);
397         typename traits::input_parameter<U4>::type x4(args[4]);
398         typename traits::input_parameter<U5>::type x5(args[5]);
399         typename traits::input_parameter<U6>::type x6(args[6]);
400         typename traits::input_parameter<U7>::type x7(args[7]);
401         typename traits::input_parameter<U8>::type x8(args[8]);
402         typename traits::input_parameter<U9>::type x9(args[9]);
403         typename traits::input_parameter<U10>::type x10(args[10]);
404         typename traits::input_parameter<U11>::type x11(args[11]);
405         typename traits::input_parameter<U12>::type x12(args[12]);
406         typename traits::input_parameter<U13>::type x13(args[13]);
407         typename traits::input_parameter<U14>::type x14(args[14]);
408         typename traits::input_parameter<U15>::type x15(args[15]);
409         typename traits::input_parameter<U16>::type x16(args[16]);
410         typename traits::input_parameter<U17>::type x17(args[17]);
411         typename traits::input_parameter<U18>::type x18(args[18]);
412         typename traits::input_parameter<U19>::type x19(args[19]);
413         typename traits::input_parameter<U20>::type x20(args[20]);
414         typename traits::input_parameter<U21>::type x21(args[21]);
415         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21);
416     }
417 
418 
419     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22)> & fun,SEXP * args)420     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22)> &fun, SEXP* args) {
421         typename traits::input_parameter<U0>::type x0(args[0]);
422         typename traits::input_parameter<U1>::type x1(args[1]);
423         typename traits::input_parameter<U2>::type x2(args[2]);
424         typename traits::input_parameter<U3>::type x3(args[3]);
425         typename traits::input_parameter<U4>::type x4(args[4]);
426         typename traits::input_parameter<U5>::type x5(args[5]);
427         typename traits::input_parameter<U6>::type x6(args[6]);
428         typename traits::input_parameter<U7>::type x7(args[7]);
429         typename traits::input_parameter<U8>::type x8(args[8]);
430         typename traits::input_parameter<U9>::type x9(args[9]);
431         typename traits::input_parameter<U10>::type x10(args[10]);
432         typename traits::input_parameter<U11>::type x11(args[11]);
433         typename traits::input_parameter<U12>::type x12(args[12]);
434         typename traits::input_parameter<U13>::type x13(args[13]);
435         typename traits::input_parameter<U14>::type x14(args[14]);
436         typename traits::input_parameter<U15>::type x15(args[15]);
437         typename traits::input_parameter<U16>::type x16(args[16]);
438         typename traits::input_parameter<U17>::type x17(args[17]);
439         typename traits::input_parameter<U18>::type x18(args[18]);
440         typename traits::input_parameter<U19>::type x19(args[19]);
441         typename traits::input_parameter<U20>::type x20(args[20]);
442         typename traits::input_parameter<U21>::type x21(args[21]);
443         typename traits::input_parameter<U22>::type x22(args[22]);
444         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22);
445     }
446 
447 
448     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23)> & fun,SEXP * args)449     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23)> &fun, SEXP* args) {
450         typename traits::input_parameter<U0>::type x0(args[0]);
451         typename traits::input_parameter<U1>::type x1(args[1]);
452         typename traits::input_parameter<U2>::type x2(args[2]);
453         typename traits::input_parameter<U3>::type x3(args[3]);
454         typename traits::input_parameter<U4>::type x4(args[4]);
455         typename traits::input_parameter<U5>::type x5(args[5]);
456         typename traits::input_parameter<U6>::type x6(args[6]);
457         typename traits::input_parameter<U7>::type x7(args[7]);
458         typename traits::input_parameter<U8>::type x8(args[8]);
459         typename traits::input_parameter<U9>::type x9(args[9]);
460         typename traits::input_parameter<U10>::type x10(args[10]);
461         typename traits::input_parameter<U11>::type x11(args[11]);
462         typename traits::input_parameter<U12>::type x12(args[12]);
463         typename traits::input_parameter<U13>::type x13(args[13]);
464         typename traits::input_parameter<U14>::type x14(args[14]);
465         typename traits::input_parameter<U15>::type x15(args[15]);
466         typename traits::input_parameter<U16>::type x16(args[16]);
467         typename traits::input_parameter<U17>::type x17(args[17]);
468         typename traits::input_parameter<U18>::type x18(args[18]);
469         typename traits::input_parameter<U19>::type x19(args[19]);
470         typename traits::input_parameter<U20>::type x20(args[20]);
471         typename traits::input_parameter<U21>::type x21(args[21]);
472         typename traits::input_parameter<U22>::type x22(args[22]);
473         typename traits::input_parameter<U23>::type x23(args[23]);
474         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23);
475     }
476 
477 
478     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24)> & fun,SEXP * args)479     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24)> &fun, SEXP* args) {
480         typename traits::input_parameter<U0>::type x0(args[0]);
481         typename traits::input_parameter<U1>::type x1(args[1]);
482         typename traits::input_parameter<U2>::type x2(args[2]);
483         typename traits::input_parameter<U3>::type x3(args[3]);
484         typename traits::input_parameter<U4>::type x4(args[4]);
485         typename traits::input_parameter<U5>::type x5(args[5]);
486         typename traits::input_parameter<U6>::type x6(args[6]);
487         typename traits::input_parameter<U7>::type x7(args[7]);
488         typename traits::input_parameter<U8>::type x8(args[8]);
489         typename traits::input_parameter<U9>::type x9(args[9]);
490         typename traits::input_parameter<U10>::type x10(args[10]);
491         typename traits::input_parameter<U11>::type x11(args[11]);
492         typename traits::input_parameter<U12>::type x12(args[12]);
493         typename traits::input_parameter<U13>::type x13(args[13]);
494         typename traits::input_parameter<U14>::type x14(args[14]);
495         typename traits::input_parameter<U15>::type x15(args[15]);
496         typename traits::input_parameter<U16>::type x16(args[16]);
497         typename traits::input_parameter<U17>::type x17(args[17]);
498         typename traits::input_parameter<U18>::type x18(args[18]);
499         typename traits::input_parameter<U19>::type x19(args[19]);
500         typename traits::input_parameter<U20>::type x20(args[20]);
501         typename traits::input_parameter<U21>::type x21(args[21]);
502         typename traits::input_parameter<U22>::type x22(args[22]);
503         typename traits::input_parameter<U23>::type x23(args[23]);
504         typename traits::input_parameter<U24>::type x24(args[24]);
505         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24);
506     }
507 
508 
509     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25)> & fun,SEXP * args)510     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25)> &fun, SEXP* args) {
511         typename traits::input_parameter<U0>::type x0(args[0]);
512         typename traits::input_parameter<U1>::type x1(args[1]);
513         typename traits::input_parameter<U2>::type x2(args[2]);
514         typename traits::input_parameter<U3>::type x3(args[3]);
515         typename traits::input_parameter<U4>::type x4(args[4]);
516         typename traits::input_parameter<U5>::type x5(args[5]);
517         typename traits::input_parameter<U6>::type x6(args[6]);
518         typename traits::input_parameter<U7>::type x7(args[7]);
519         typename traits::input_parameter<U8>::type x8(args[8]);
520         typename traits::input_parameter<U9>::type x9(args[9]);
521         typename traits::input_parameter<U10>::type x10(args[10]);
522         typename traits::input_parameter<U11>::type x11(args[11]);
523         typename traits::input_parameter<U12>::type x12(args[12]);
524         typename traits::input_parameter<U13>::type x13(args[13]);
525         typename traits::input_parameter<U14>::type x14(args[14]);
526         typename traits::input_parameter<U15>::type x15(args[15]);
527         typename traits::input_parameter<U16>::type x16(args[16]);
528         typename traits::input_parameter<U17>::type x17(args[17]);
529         typename traits::input_parameter<U18>::type x18(args[18]);
530         typename traits::input_parameter<U19>::type x19(args[19]);
531         typename traits::input_parameter<U20>::type x20(args[20]);
532         typename traits::input_parameter<U21>::type x21(args[21]);
533         typename traits::input_parameter<U22>::type x22(args[22]);
534         typename traits::input_parameter<U23>::type x23(args[23]);
535         typename traits::input_parameter<U24>::type x24(args[24]);
536         typename traits::input_parameter<U25>::type x25(args[25]);
537         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25);
538     }
539 
540 
541     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26)> & fun,SEXP * args)542     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26)> &fun, SEXP* args) {
543         typename traits::input_parameter<U0>::type x0(args[0]);
544         typename traits::input_parameter<U1>::type x1(args[1]);
545         typename traits::input_parameter<U2>::type x2(args[2]);
546         typename traits::input_parameter<U3>::type x3(args[3]);
547         typename traits::input_parameter<U4>::type x4(args[4]);
548         typename traits::input_parameter<U5>::type x5(args[5]);
549         typename traits::input_parameter<U6>::type x6(args[6]);
550         typename traits::input_parameter<U7>::type x7(args[7]);
551         typename traits::input_parameter<U8>::type x8(args[8]);
552         typename traits::input_parameter<U9>::type x9(args[9]);
553         typename traits::input_parameter<U10>::type x10(args[10]);
554         typename traits::input_parameter<U11>::type x11(args[11]);
555         typename traits::input_parameter<U12>::type x12(args[12]);
556         typename traits::input_parameter<U13>::type x13(args[13]);
557         typename traits::input_parameter<U14>::type x14(args[14]);
558         typename traits::input_parameter<U15>::type x15(args[15]);
559         typename traits::input_parameter<U16>::type x16(args[16]);
560         typename traits::input_parameter<U17>::type x17(args[17]);
561         typename traits::input_parameter<U18>::type x18(args[18]);
562         typename traits::input_parameter<U19>::type x19(args[19]);
563         typename traits::input_parameter<U20>::type x20(args[20]);
564         typename traits::input_parameter<U21>::type x21(args[21]);
565         typename traits::input_parameter<U22>::type x22(args[22]);
566         typename traits::input_parameter<U23>::type x23(args[23]);
567         typename traits::input_parameter<U24>::type x24(args[24]);
568         typename traits::input_parameter<U25>::type x25(args[25]);
569         typename traits::input_parameter<U26>::type x26(args[26]);
570         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26);
571     }
572 
573 
574     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27)> & fun,SEXP * args)575     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27)> &fun, SEXP* args) {
576         typename traits::input_parameter<U0>::type x0(args[0]);
577         typename traits::input_parameter<U1>::type x1(args[1]);
578         typename traits::input_parameter<U2>::type x2(args[2]);
579         typename traits::input_parameter<U3>::type x3(args[3]);
580         typename traits::input_parameter<U4>::type x4(args[4]);
581         typename traits::input_parameter<U5>::type x5(args[5]);
582         typename traits::input_parameter<U6>::type x6(args[6]);
583         typename traits::input_parameter<U7>::type x7(args[7]);
584         typename traits::input_parameter<U8>::type x8(args[8]);
585         typename traits::input_parameter<U9>::type x9(args[9]);
586         typename traits::input_parameter<U10>::type x10(args[10]);
587         typename traits::input_parameter<U11>::type x11(args[11]);
588         typename traits::input_parameter<U12>::type x12(args[12]);
589         typename traits::input_parameter<U13>::type x13(args[13]);
590         typename traits::input_parameter<U14>::type x14(args[14]);
591         typename traits::input_parameter<U15>::type x15(args[15]);
592         typename traits::input_parameter<U16>::type x16(args[16]);
593         typename traits::input_parameter<U17>::type x17(args[17]);
594         typename traits::input_parameter<U18>::type x18(args[18]);
595         typename traits::input_parameter<U19>::type x19(args[19]);
596         typename traits::input_parameter<U20>::type x20(args[20]);
597         typename traits::input_parameter<U21>::type x21(args[21]);
598         typename traits::input_parameter<U22>::type x22(args[22]);
599         typename traits::input_parameter<U23>::type x23(args[23]);
600         typename traits::input_parameter<U24>::type x24(args[24]);
601         typename traits::input_parameter<U25>::type x25(args[25]);
602         typename traits::input_parameter<U26>::type x26(args[26]);
603         typename traits::input_parameter<U27>::type x27(args[27]);
604         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27);
605     }
606 
607 
608     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28)> & fun,SEXP * args)609     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28)> &fun, SEXP* args) {
610         typename traits::input_parameter<U0>::type x0(args[0]);
611         typename traits::input_parameter<U1>::type x1(args[1]);
612         typename traits::input_parameter<U2>::type x2(args[2]);
613         typename traits::input_parameter<U3>::type x3(args[3]);
614         typename traits::input_parameter<U4>::type x4(args[4]);
615         typename traits::input_parameter<U5>::type x5(args[5]);
616         typename traits::input_parameter<U6>::type x6(args[6]);
617         typename traits::input_parameter<U7>::type x7(args[7]);
618         typename traits::input_parameter<U8>::type x8(args[8]);
619         typename traits::input_parameter<U9>::type x9(args[9]);
620         typename traits::input_parameter<U10>::type x10(args[10]);
621         typename traits::input_parameter<U11>::type x11(args[11]);
622         typename traits::input_parameter<U12>::type x12(args[12]);
623         typename traits::input_parameter<U13>::type x13(args[13]);
624         typename traits::input_parameter<U14>::type x14(args[14]);
625         typename traits::input_parameter<U15>::type x15(args[15]);
626         typename traits::input_parameter<U16>::type x16(args[16]);
627         typename traits::input_parameter<U17>::type x17(args[17]);
628         typename traits::input_parameter<U18>::type x18(args[18]);
629         typename traits::input_parameter<U19>::type x19(args[19]);
630         typename traits::input_parameter<U20>::type x20(args[20]);
631         typename traits::input_parameter<U21>::type x21(args[21]);
632         typename traits::input_parameter<U22>::type x22(args[22]);
633         typename traits::input_parameter<U23>::type x23(args[23]);
634         typename traits::input_parameter<U24>::type x24(args[24]);
635         typename traits::input_parameter<U25>::type x25(args[25]);
636         typename traits::input_parameter<U26>::type x26(args[26]);
637         typename traits::input_parameter<U27>::type x27(args[27]);
638         typename traits::input_parameter<U28>::type x28(args[28]);
639         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28);
640     }
641 
642 
643     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29)> & fun,SEXP * args)644     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29)> &fun, SEXP* args) {
645         typename traits::input_parameter<U0>::type x0(args[0]);
646         typename traits::input_parameter<U1>::type x1(args[1]);
647         typename traits::input_parameter<U2>::type x2(args[2]);
648         typename traits::input_parameter<U3>::type x3(args[3]);
649         typename traits::input_parameter<U4>::type x4(args[4]);
650         typename traits::input_parameter<U5>::type x5(args[5]);
651         typename traits::input_parameter<U6>::type x6(args[6]);
652         typename traits::input_parameter<U7>::type x7(args[7]);
653         typename traits::input_parameter<U8>::type x8(args[8]);
654         typename traits::input_parameter<U9>::type x9(args[9]);
655         typename traits::input_parameter<U10>::type x10(args[10]);
656         typename traits::input_parameter<U11>::type x11(args[11]);
657         typename traits::input_parameter<U12>::type x12(args[12]);
658         typename traits::input_parameter<U13>::type x13(args[13]);
659         typename traits::input_parameter<U14>::type x14(args[14]);
660         typename traits::input_parameter<U15>::type x15(args[15]);
661         typename traits::input_parameter<U16>::type x16(args[16]);
662         typename traits::input_parameter<U17>::type x17(args[17]);
663         typename traits::input_parameter<U18>::type x18(args[18]);
664         typename traits::input_parameter<U19>::type x19(args[19]);
665         typename traits::input_parameter<U20>::type x20(args[20]);
666         typename traits::input_parameter<U21>::type x21(args[21]);
667         typename traits::input_parameter<U22>::type x22(args[22]);
668         typename traits::input_parameter<U23>::type x23(args[23]);
669         typename traits::input_parameter<U24>::type x24(args[24]);
670         typename traits::input_parameter<U25>::type x25(args[25]);
671         typename traits::input_parameter<U26>::type x26(args[26]);
672         typename traits::input_parameter<U27>::type x27(args[27]);
673         typename traits::input_parameter<U28>::type x28(args[28]);
674         typename traits::input_parameter<U29>::type x29(args[29]);
675         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29);
676     }
677 
678 
679     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30)> & fun,SEXP * args)680     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30)> &fun, SEXP* args) {
681         typename traits::input_parameter<U0>::type x0(args[0]);
682         typename traits::input_parameter<U1>::type x1(args[1]);
683         typename traits::input_parameter<U2>::type x2(args[2]);
684         typename traits::input_parameter<U3>::type x3(args[3]);
685         typename traits::input_parameter<U4>::type x4(args[4]);
686         typename traits::input_parameter<U5>::type x5(args[5]);
687         typename traits::input_parameter<U6>::type x6(args[6]);
688         typename traits::input_parameter<U7>::type x7(args[7]);
689         typename traits::input_parameter<U8>::type x8(args[8]);
690         typename traits::input_parameter<U9>::type x9(args[9]);
691         typename traits::input_parameter<U10>::type x10(args[10]);
692         typename traits::input_parameter<U11>::type x11(args[11]);
693         typename traits::input_parameter<U12>::type x12(args[12]);
694         typename traits::input_parameter<U13>::type x13(args[13]);
695         typename traits::input_parameter<U14>::type x14(args[14]);
696         typename traits::input_parameter<U15>::type x15(args[15]);
697         typename traits::input_parameter<U16>::type x16(args[16]);
698         typename traits::input_parameter<U17>::type x17(args[17]);
699         typename traits::input_parameter<U18>::type x18(args[18]);
700         typename traits::input_parameter<U19>::type x19(args[19]);
701         typename traits::input_parameter<U20>::type x20(args[20]);
702         typename traits::input_parameter<U21>::type x21(args[21]);
703         typename traits::input_parameter<U22>::type x22(args[22]);
704         typename traits::input_parameter<U23>::type x23(args[23]);
705         typename traits::input_parameter<U24>::type x24(args[24]);
706         typename traits::input_parameter<U25>::type x25(args[25]);
707         typename traits::input_parameter<U26>::type x26(args[26]);
708         typename traits::input_parameter<U27>::type x27(args[27]);
709         typename traits::input_parameter<U28>::type x28(args[28]);
710         typename traits::input_parameter<U29>::type x29(args[29]);
711         typename traits::input_parameter<U30>::type x30(args[30]);
712         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30);
713     }
714 
715 
716     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31)> & fun,SEXP * args)717     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31)> &fun, SEXP* args) {
718         typename traits::input_parameter<U0>::type x0(args[0]);
719         typename traits::input_parameter<U1>::type x1(args[1]);
720         typename traits::input_parameter<U2>::type x2(args[2]);
721         typename traits::input_parameter<U3>::type x3(args[3]);
722         typename traits::input_parameter<U4>::type x4(args[4]);
723         typename traits::input_parameter<U5>::type x5(args[5]);
724         typename traits::input_parameter<U6>::type x6(args[6]);
725         typename traits::input_parameter<U7>::type x7(args[7]);
726         typename traits::input_parameter<U8>::type x8(args[8]);
727         typename traits::input_parameter<U9>::type x9(args[9]);
728         typename traits::input_parameter<U10>::type x10(args[10]);
729         typename traits::input_parameter<U11>::type x11(args[11]);
730         typename traits::input_parameter<U12>::type x12(args[12]);
731         typename traits::input_parameter<U13>::type x13(args[13]);
732         typename traits::input_parameter<U14>::type x14(args[14]);
733         typename traits::input_parameter<U15>::type x15(args[15]);
734         typename traits::input_parameter<U16>::type x16(args[16]);
735         typename traits::input_parameter<U17>::type x17(args[17]);
736         typename traits::input_parameter<U18>::type x18(args[18]);
737         typename traits::input_parameter<U19>::type x19(args[19]);
738         typename traits::input_parameter<U20>::type x20(args[20]);
739         typename traits::input_parameter<U21>::type x21(args[21]);
740         typename traits::input_parameter<U22>::type x22(args[22]);
741         typename traits::input_parameter<U23>::type x23(args[23]);
742         typename traits::input_parameter<U24>::type x24(args[24]);
743         typename traits::input_parameter<U25>::type x25(args[25]);
744         typename traits::input_parameter<U26>::type x26(args[26]);
745         typename traits::input_parameter<U27>::type x27(args[27]);
746         typename traits::input_parameter<U28>::type x28(args[28]);
747         typename traits::input_parameter<U29>::type x29(args[29]);
748         typename traits::input_parameter<U30>::type x30(args[30]);
749         typename traits::input_parameter<U31>::type x31(args[31]);
750         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31);
751     }
752 
753 
754     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32)> & fun,SEXP * args)755     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32)> &fun, SEXP* args) {
756         typename traits::input_parameter<U0>::type x0(args[0]);
757         typename traits::input_parameter<U1>::type x1(args[1]);
758         typename traits::input_parameter<U2>::type x2(args[2]);
759         typename traits::input_parameter<U3>::type x3(args[3]);
760         typename traits::input_parameter<U4>::type x4(args[4]);
761         typename traits::input_parameter<U5>::type x5(args[5]);
762         typename traits::input_parameter<U6>::type x6(args[6]);
763         typename traits::input_parameter<U7>::type x7(args[7]);
764         typename traits::input_parameter<U8>::type x8(args[8]);
765         typename traits::input_parameter<U9>::type x9(args[9]);
766         typename traits::input_parameter<U10>::type x10(args[10]);
767         typename traits::input_parameter<U11>::type x11(args[11]);
768         typename traits::input_parameter<U12>::type x12(args[12]);
769         typename traits::input_parameter<U13>::type x13(args[13]);
770         typename traits::input_parameter<U14>::type x14(args[14]);
771         typename traits::input_parameter<U15>::type x15(args[15]);
772         typename traits::input_parameter<U16>::type x16(args[16]);
773         typename traits::input_parameter<U17>::type x17(args[17]);
774         typename traits::input_parameter<U18>::type x18(args[18]);
775         typename traits::input_parameter<U19>::type x19(args[19]);
776         typename traits::input_parameter<U20>::type x20(args[20]);
777         typename traits::input_parameter<U21>::type x21(args[21]);
778         typename traits::input_parameter<U22>::type x22(args[22]);
779         typename traits::input_parameter<U23>::type x23(args[23]);
780         typename traits::input_parameter<U24>::type x24(args[24]);
781         typename traits::input_parameter<U25>::type x25(args[25]);
782         typename traits::input_parameter<U26>::type x26(args[26]);
783         typename traits::input_parameter<U27>::type x27(args[27]);
784         typename traits::input_parameter<U28>::type x28(args[28]);
785         typename traits::input_parameter<U29>::type x29(args[29]);
786         typename traits::input_parameter<U30>::type x30(args[30]);
787         typename traits::input_parameter<U31>::type x31(args[31]);
788         typename traits::input_parameter<U32>::type x32(args[32]);
789         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32);
790     }
791 
792 
793     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33)> & fun,SEXP * args)794     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33)> &fun, SEXP* args) {
795         typename traits::input_parameter<U0>::type x0(args[0]);
796         typename traits::input_parameter<U1>::type x1(args[1]);
797         typename traits::input_parameter<U2>::type x2(args[2]);
798         typename traits::input_parameter<U3>::type x3(args[3]);
799         typename traits::input_parameter<U4>::type x4(args[4]);
800         typename traits::input_parameter<U5>::type x5(args[5]);
801         typename traits::input_parameter<U6>::type x6(args[6]);
802         typename traits::input_parameter<U7>::type x7(args[7]);
803         typename traits::input_parameter<U8>::type x8(args[8]);
804         typename traits::input_parameter<U9>::type x9(args[9]);
805         typename traits::input_parameter<U10>::type x10(args[10]);
806         typename traits::input_parameter<U11>::type x11(args[11]);
807         typename traits::input_parameter<U12>::type x12(args[12]);
808         typename traits::input_parameter<U13>::type x13(args[13]);
809         typename traits::input_parameter<U14>::type x14(args[14]);
810         typename traits::input_parameter<U15>::type x15(args[15]);
811         typename traits::input_parameter<U16>::type x16(args[16]);
812         typename traits::input_parameter<U17>::type x17(args[17]);
813         typename traits::input_parameter<U18>::type x18(args[18]);
814         typename traits::input_parameter<U19>::type x19(args[19]);
815         typename traits::input_parameter<U20>::type x20(args[20]);
816         typename traits::input_parameter<U21>::type x21(args[21]);
817         typename traits::input_parameter<U22>::type x22(args[22]);
818         typename traits::input_parameter<U23>::type x23(args[23]);
819         typename traits::input_parameter<U24>::type x24(args[24]);
820         typename traits::input_parameter<U25>::type x25(args[25]);
821         typename traits::input_parameter<U26>::type x26(args[26]);
822         typename traits::input_parameter<U27>::type x27(args[27]);
823         typename traits::input_parameter<U28>::type x28(args[28]);
824         typename traits::input_parameter<U29>::type x29(args[29]);
825         typename traits::input_parameter<U30>::type x30(args[30]);
826         typename traits::input_parameter<U31>::type x31(args[31]);
827         typename traits::input_parameter<U32>::type x32(args[32]);
828         typename traits::input_parameter<U33>::type x33(args[33]);
829         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33);
830     }
831 
832 
833     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34)> & fun,SEXP * args)834     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34)> &fun, SEXP* args) {
835         typename traits::input_parameter<U0>::type x0(args[0]);
836         typename traits::input_parameter<U1>::type x1(args[1]);
837         typename traits::input_parameter<U2>::type x2(args[2]);
838         typename traits::input_parameter<U3>::type x3(args[3]);
839         typename traits::input_parameter<U4>::type x4(args[4]);
840         typename traits::input_parameter<U5>::type x5(args[5]);
841         typename traits::input_parameter<U6>::type x6(args[6]);
842         typename traits::input_parameter<U7>::type x7(args[7]);
843         typename traits::input_parameter<U8>::type x8(args[8]);
844         typename traits::input_parameter<U9>::type x9(args[9]);
845         typename traits::input_parameter<U10>::type x10(args[10]);
846         typename traits::input_parameter<U11>::type x11(args[11]);
847         typename traits::input_parameter<U12>::type x12(args[12]);
848         typename traits::input_parameter<U13>::type x13(args[13]);
849         typename traits::input_parameter<U14>::type x14(args[14]);
850         typename traits::input_parameter<U15>::type x15(args[15]);
851         typename traits::input_parameter<U16>::type x16(args[16]);
852         typename traits::input_parameter<U17>::type x17(args[17]);
853         typename traits::input_parameter<U18>::type x18(args[18]);
854         typename traits::input_parameter<U19>::type x19(args[19]);
855         typename traits::input_parameter<U20>::type x20(args[20]);
856         typename traits::input_parameter<U21>::type x21(args[21]);
857         typename traits::input_parameter<U22>::type x22(args[22]);
858         typename traits::input_parameter<U23>::type x23(args[23]);
859         typename traits::input_parameter<U24>::type x24(args[24]);
860         typename traits::input_parameter<U25>::type x25(args[25]);
861         typename traits::input_parameter<U26>::type x26(args[26]);
862         typename traits::input_parameter<U27>::type x27(args[27]);
863         typename traits::input_parameter<U28>::type x28(args[28]);
864         typename traits::input_parameter<U29>::type x29(args[29]);
865         typename traits::input_parameter<U30>::type x30(args[30]);
866         typename traits::input_parameter<U31>::type x31(args[31]);
867         typename traits::input_parameter<U32>::type x32(args[32]);
868         typename traits::input_parameter<U33>::type x33(args[33]);
869         typename traits::input_parameter<U34>::type x34(args[34]);
870         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34);
871     }
872 
873 
874     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35)> & fun,SEXP * args)875     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35)> &fun, SEXP* args) {
876         typename traits::input_parameter<U0>::type x0(args[0]);
877         typename traits::input_parameter<U1>::type x1(args[1]);
878         typename traits::input_parameter<U2>::type x2(args[2]);
879         typename traits::input_parameter<U3>::type x3(args[3]);
880         typename traits::input_parameter<U4>::type x4(args[4]);
881         typename traits::input_parameter<U5>::type x5(args[5]);
882         typename traits::input_parameter<U6>::type x6(args[6]);
883         typename traits::input_parameter<U7>::type x7(args[7]);
884         typename traits::input_parameter<U8>::type x8(args[8]);
885         typename traits::input_parameter<U9>::type x9(args[9]);
886         typename traits::input_parameter<U10>::type x10(args[10]);
887         typename traits::input_parameter<U11>::type x11(args[11]);
888         typename traits::input_parameter<U12>::type x12(args[12]);
889         typename traits::input_parameter<U13>::type x13(args[13]);
890         typename traits::input_parameter<U14>::type x14(args[14]);
891         typename traits::input_parameter<U15>::type x15(args[15]);
892         typename traits::input_parameter<U16>::type x16(args[16]);
893         typename traits::input_parameter<U17>::type x17(args[17]);
894         typename traits::input_parameter<U18>::type x18(args[18]);
895         typename traits::input_parameter<U19>::type x19(args[19]);
896         typename traits::input_parameter<U20>::type x20(args[20]);
897         typename traits::input_parameter<U21>::type x21(args[21]);
898         typename traits::input_parameter<U22>::type x22(args[22]);
899         typename traits::input_parameter<U23>::type x23(args[23]);
900         typename traits::input_parameter<U24>::type x24(args[24]);
901         typename traits::input_parameter<U25>::type x25(args[25]);
902         typename traits::input_parameter<U26>::type x26(args[26]);
903         typename traits::input_parameter<U27>::type x27(args[27]);
904         typename traits::input_parameter<U28>::type x28(args[28]);
905         typename traits::input_parameter<U29>::type x29(args[29]);
906         typename traits::input_parameter<U30>::type x30(args[30]);
907         typename traits::input_parameter<U31>::type x31(args[31]);
908         typename traits::input_parameter<U32>::type x32(args[32]);
909         typename traits::input_parameter<U33>::type x33(args[33]);
910         typename traits::input_parameter<U34>::type x34(args[34]);
911         typename traits::input_parameter<U35>::type x35(args[35]);
912         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35);
913     }
914 
915 
916     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36)> & fun,SEXP * args)917     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36)> &fun, SEXP* args) {
918         typename traits::input_parameter<U0>::type x0(args[0]);
919         typename traits::input_parameter<U1>::type x1(args[1]);
920         typename traits::input_parameter<U2>::type x2(args[2]);
921         typename traits::input_parameter<U3>::type x3(args[3]);
922         typename traits::input_parameter<U4>::type x4(args[4]);
923         typename traits::input_parameter<U5>::type x5(args[5]);
924         typename traits::input_parameter<U6>::type x6(args[6]);
925         typename traits::input_parameter<U7>::type x7(args[7]);
926         typename traits::input_parameter<U8>::type x8(args[8]);
927         typename traits::input_parameter<U9>::type x9(args[9]);
928         typename traits::input_parameter<U10>::type x10(args[10]);
929         typename traits::input_parameter<U11>::type x11(args[11]);
930         typename traits::input_parameter<U12>::type x12(args[12]);
931         typename traits::input_parameter<U13>::type x13(args[13]);
932         typename traits::input_parameter<U14>::type x14(args[14]);
933         typename traits::input_parameter<U15>::type x15(args[15]);
934         typename traits::input_parameter<U16>::type x16(args[16]);
935         typename traits::input_parameter<U17>::type x17(args[17]);
936         typename traits::input_parameter<U18>::type x18(args[18]);
937         typename traits::input_parameter<U19>::type x19(args[19]);
938         typename traits::input_parameter<U20>::type x20(args[20]);
939         typename traits::input_parameter<U21>::type x21(args[21]);
940         typename traits::input_parameter<U22>::type x22(args[22]);
941         typename traits::input_parameter<U23>::type x23(args[23]);
942         typename traits::input_parameter<U24>::type x24(args[24]);
943         typename traits::input_parameter<U25>::type x25(args[25]);
944         typename traits::input_parameter<U26>::type x26(args[26]);
945         typename traits::input_parameter<U27>::type x27(args[27]);
946         typename traits::input_parameter<U28>::type x28(args[28]);
947         typename traits::input_parameter<U29>::type x29(args[29]);
948         typename traits::input_parameter<U30>::type x30(args[30]);
949         typename traits::input_parameter<U31>::type x31(args[31]);
950         typename traits::input_parameter<U32>::type x32(args[32]);
951         typename traits::input_parameter<U33>::type x33(args[33]);
952         typename traits::input_parameter<U34>::type x34(args[34]);
953         typename traits::input_parameter<U35>::type x35(args[35]);
954         typename traits::input_parameter<U36>::type x36(args[36]);
955         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36);
956     }
957 
958 
959     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37)> & fun,SEXP * args)960     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37)> &fun, SEXP* args) {
961         typename traits::input_parameter<U0>::type x0(args[0]);
962         typename traits::input_parameter<U1>::type x1(args[1]);
963         typename traits::input_parameter<U2>::type x2(args[2]);
964         typename traits::input_parameter<U3>::type x3(args[3]);
965         typename traits::input_parameter<U4>::type x4(args[4]);
966         typename traits::input_parameter<U5>::type x5(args[5]);
967         typename traits::input_parameter<U6>::type x6(args[6]);
968         typename traits::input_parameter<U7>::type x7(args[7]);
969         typename traits::input_parameter<U8>::type x8(args[8]);
970         typename traits::input_parameter<U9>::type x9(args[9]);
971         typename traits::input_parameter<U10>::type x10(args[10]);
972         typename traits::input_parameter<U11>::type x11(args[11]);
973         typename traits::input_parameter<U12>::type x12(args[12]);
974         typename traits::input_parameter<U13>::type x13(args[13]);
975         typename traits::input_parameter<U14>::type x14(args[14]);
976         typename traits::input_parameter<U15>::type x15(args[15]);
977         typename traits::input_parameter<U16>::type x16(args[16]);
978         typename traits::input_parameter<U17>::type x17(args[17]);
979         typename traits::input_parameter<U18>::type x18(args[18]);
980         typename traits::input_parameter<U19>::type x19(args[19]);
981         typename traits::input_parameter<U20>::type x20(args[20]);
982         typename traits::input_parameter<U21>::type x21(args[21]);
983         typename traits::input_parameter<U22>::type x22(args[22]);
984         typename traits::input_parameter<U23>::type x23(args[23]);
985         typename traits::input_parameter<U24>::type x24(args[24]);
986         typename traits::input_parameter<U25>::type x25(args[25]);
987         typename traits::input_parameter<U26>::type x26(args[26]);
988         typename traits::input_parameter<U27>::type x27(args[27]);
989         typename traits::input_parameter<U28>::type x28(args[28]);
990         typename traits::input_parameter<U29>::type x29(args[29]);
991         typename traits::input_parameter<U30>::type x30(args[30]);
992         typename traits::input_parameter<U31>::type x31(args[31]);
993         typename traits::input_parameter<U32>::type x32(args[32]);
994         typename traits::input_parameter<U33>::type x33(args[33]);
995         typename traits::input_parameter<U34>::type x34(args[34]);
996         typename traits::input_parameter<U35>::type x35(args[35]);
997         typename traits::input_parameter<U36>::type x36(args[36]);
998         typename traits::input_parameter<U37>::type x37(args[37]);
999         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37);
1000     }
1001 
1002 
1003     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38)> & fun,SEXP * args)1004     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38)> &fun, SEXP* args) {
1005         typename traits::input_parameter<U0>::type x0(args[0]);
1006         typename traits::input_parameter<U1>::type x1(args[1]);
1007         typename traits::input_parameter<U2>::type x2(args[2]);
1008         typename traits::input_parameter<U3>::type x3(args[3]);
1009         typename traits::input_parameter<U4>::type x4(args[4]);
1010         typename traits::input_parameter<U5>::type x5(args[5]);
1011         typename traits::input_parameter<U6>::type x6(args[6]);
1012         typename traits::input_parameter<U7>::type x7(args[7]);
1013         typename traits::input_parameter<U8>::type x8(args[8]);
1014         typename traits::input_parameter<U9>::type x9(args[9]);
1015         typename traits::input_parameter<U10>::type x10(args[10]);
1016         typename traits::input_parameter<U11>::type x11(args[11]);
1017         typename traits::input_parameter<U12>::type x12(args[12]);
1018         typename traits::input_parameter<U13>::type x13(args[13]);
1019         typename traits::input_parameter<U14>::type x14(args[14]);
1020         typename traits::input_parameter<U15>::type x15(args[15]);
1021         typename traits::input_parameter<U16>::type x16(args[16]);
1022         typename traits::input_parameter<U17>::type x17(args[17]);
1023         typename traits::input_parameter<U18>::type x18(args[18]);
1024         typename traits::input_parameter<U19>::type x19(args[19]);
1025         typename traits::input_parameter<U20>::type x20(args[20]);
1026         typename traits::input_parameter<U21>::type x21(args[21]);
1027         typename traits::input_parameter<U22>::type x22(args[22]);
1028         typename traits::input_parameter<U23>::type x23(args[23]);
1029         typename traits::input_parameter<U24>::type x24(args[24]);
1030         typename traits::input_parameter<U25>::type x25(args[25]);
1031         typename traits::input_parameter<U26>::type x26(args[26]);
1032         typename traits::input_parameter<U27>::type x27(args[27]);
1033         typename traits::input_parameter<U28>::type x28(args[28]);
1034         typename traits::input_parameter<U29>::type x29(args[29]);
1035         typename traits::input_parameter<U30>::type x30(args[30]);
1036         typename traits::input_parameter<U31>::type x31(args[31]);
1037         typename traits::input_parameter<U32>::type x32(args[32]);
1038         typename traits::input_parameter<U33>::type x33(args[33]);
1039         typename traits::input_parameter<U34>::type x34(args[34]);
1040         typename traits::input_parameter<U35>::type x35(args[35]);
1041         typename traits::input_parameter<U36>::type x36(args[36]);
1042         typename traits::input_parameter<U37>::type x37(args[37]);
1043         typename traits::input_parameter<U38>::type x38(args[38]);
1044         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38);
1045     }
1046 
1047 
1048     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39)> & fun,SEXP * args)1049     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39)> &fun, SEXP* args) {
1050         typename traits::input_parameter<U0>::type x0(args[0]);
1051         typename traits::input_parameter<U1>::type x1(args[1]);
1052         typename traits::input_parameter<U2>::type x2(args[2]);
1053         typename traits::input_parameter<U3>::type x3(args[3]);
1054         typename traits::input_parameter<U4>::type x4(args[4]);
1055         typename traits::input_parameter<U5>::type x5(args[5]);
1056         typename traits::input_parameter<U6>::type x6(args[6]);
1057         typename traits::input_parameter<U7>::type x7(args[7]);
1058         typename traits::input_parameter<U8>::type x8(args[8]);
1059         typename traits::input_parameter<U9>::type x9(args[9]);
1060         typename traits::input_parameter<U10>::type x10(args[10]);
1061         typename traits::input_parameter<U11>::type x11(args[11]);
1062         typename traits::input_parameter<U12>::type x12(args[12]);
1063         typename traits::input_parameter<U13>::type x13(args[13]);
1064         typename traits::input_parameter<U14>::type x14(args[14]);
1065         typename traits::input_parameter<U15>::type x15(args[15]);
1066         typename traits::input_parameter<U16>::type x16(args[16]);
1067         typename traits::input_parameter<U17>::type x17(args[17]);
1068         typename traits::input_parameter<U18>::type x18(args[18]);
1069         typename traits::input_parameter<U19>::type x19(args[19]);
1070         typename traits::input_parameter<U20>::type x20(args[20]);
1071         typename traits::input_parameter<U21>::type x21(args[21]);
1072         typename traits::input_parameter<U22>::type x22(args[22]);
1073         typename traits::input_parameter<U23>::type x23(args[23]);
1074         typename traits::input_parameter<U24>::type x24(args[24]);
1075         typename traits::input_parameter<U25>::type x25(args[25]);
1076         typename traits::input_parameter<U26>::type x26(args[26]);
1077         typename traits::input_parameter<U27>::type x27(args[27]);
1078         typename traits::input_parameter<U28>::type x28(args[28]);
1079         typename traits::input_parameter<U29>::type x29(args[29]);
1080         typename traits::input_parameter<U30>::type x30(args[30]);
1081         typename traits::input_parameter<U31>::type x31(args[31]);
1082         typename traits::input_parameter<U32>::type x32(args[32]);
1083         typename traits::input_parameter<U33>::type x33(args[33]);
1084         typename traits::input_parameter<U34>::type x34(args[34]);
1085         typename traits::input_parameter<U35>::type x35(args[35]);
1086         typename traits::input_parameter<U36>::type x36(args[36]);
1087         typename traits::input_parameter<U37>::type x37(args[37]);
1088         typename traits::input_parameter<U38>::type x38(args[38]);
1089         typename traits::input_parameter<U39>::type x39(args[39]);
1090         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39);
1091     }
1092 
1093 
1094     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40)> & fun,SEXP * args)1095     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40)> &fun, SEXP* args) {
1096         typename traits::input_parameter<U0>::type x0(args[0]);
1097         typename traits::input_parameter<U1>::type x1(args[1]);
1098         typename traits::input_parameter<U2>::type x2(args[2]);
1099         typename traits::input_parameter<U3>::type x3(args[3]);
1100         typename traits::input_parameter<U4>::type x4(args[4]);
1101         typename traits::input_parameter<U5>::type x5(args[5]);
1102         typename traits::input_parameter<U6>::type x6(args[6]);
1103         typename traits::input_parameter<U7>::type x7(args[7]);
1104         typename traits::input_parameter<U8>::type x8(args[8]);
1105         typename traits::input_parameter<U9>::type x9(args[9]);
1106         typename traits::input_parameter<U10>::type x10(args[10]);
1107         typename traits::input_parameter<U11>::type x11(args[11]);
1108         typename traits::input_parameter<U12>::type x12(args[12]);
1109         typename traits::input_parameter<U13>::type x13(args[13]);
1110         typename traits::input_parameter<U14>::type x14(args[14]);
1111         typename traits::input_parameter<U15>::type x15(args[15]);
1112         typename traits::input_parameter<U16>::type x16(args[16]);
1113         typename traits::input_parameter<U17>::type x17(args[17]);
1114         typename traits::input_parameter<U18>::type x18(args[18]);
1115         typename traits::input_parameter<U19>::type x19(args[19]);
1116         typename traits::input_parameter<U20>::type x20(args[20]);
1117         typename traits::input_parameter<U21>::type x21(args[21]);
1118         typename traits::input_parameter<U22>::type x22(args[22]);
1119         typename traits::input_parameter<U23>::type x23(args[23]);
1120         typename traits::input_parameter<U24>::type x24(args[24]);
1121         typename traits::input_parameter<U25>::type x25(args[25]);
1122         typename traits::input_parameter<U26>::type x26(args[26]);
1123         typename traits::input_parameter<U27>::type x27(args[27]);
1124         typename traits::input_parameter<U28>::type x28(args[28]);
1125         typename traits::input_parameter<U29>::type x29(args[29]);
1126         typename traits::input_parameter<U30>::type x30(args[30]);
1127         typename traits::input_parameter<U31>::type x31(args[31]);
1128         typename traits::input_parameter<U32>::type x32(args[32]);
1129         typename traits::input_parameter<U33>::type x33(args[33]);
1130         typename traits::input_parameter<U34>::type x34(args[34]);
1131         typename traits::input_parameter<U35>::type x35(args[35]);
1132         typename traits::input_parameter<U36>::type x36(args[36]);
1133         typename traits::input_parameter<U37>::type x37(args[37]);
1134         typename traits::input_parameter<U38>::type x38(args[38]);
1135         typename traits::input_parameter<U39>::type x39(args[39]);
1136         typename traits::input_parameter<U40>::type x40(args[40]);
1137         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40);
1138     }
1139 
1140 
1141     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41)> & fun,SEXP * args)1142     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41)> &fun, SEXP* args) {
1143         typename traits::input_parameter<U0>::type x0(args[0]);
1144         typename traits::input_parameter<U1>::type x1(args[1]);
1145         typename traits::input_parameter<U2>::type x2(args[2]);
1146         typename traits::input_parameter<U3>::type x3(args[3]);
1147         typename traits::input_parameter<U4>::type x4(args[4]);
1148         typename traits::input_parameter<U5>::type x5(args[5]);
1149         typename traits::input_parameter<U6>::type x6(args[6]);
1150         typename traits::input_parameter<U7>::type x7(args[7]);
1151         typename traits::input_parameter<U8>::type x8(args[8]);
1152         typename traits::input_parameter<U9>::type x9(args[9]);
1153         typename traits::input_parameter<U10>::type x10(args[10]);
1154         typename traits::input_parameter<U11>::type x11(args[11]);
1155         typename traits::input_parameter<U12>::type x12(args[12]);
1156         typename traits::input_parameter<U13>::type x13(args[13]);
1157         typename traits::input_parameter<U14>::type x14(args[14]);
1158         typename traits::input_parameter<U15>::type x15(args[15]);
1159         typename traits::input_parameter<U16>::type x16(args[16]);
1160         typename traits::input_parameter<U17>::type x17(args[17]);
1161         typename traits::input_parameter<U18>::type x18(args[18]);
1162         typename traits::input_parameter<U19>::type x19(args[19]);
1163         typename traits::input_parameter<U20>::type x20(args[20]);
1164         typename traits::input_parameter<U21>::type x21(args[21]);
1165         typename traits::input_parameter<U22>::type x22(args[22]);
1166         typename traits::input_parameter<U23>::type x23(args[23]);
1167         typename traits::input_parameter<U24>::type x24(args[24]);
1168         typename traits::input_parameter<U25>::type x25(args[25]);
1169         typename traits::input_parameter<U26>::type x26(args[26]);
1170         typename traits::input_parameter<U27>::type x27(args[27]);
1171         typename traits::input_parameter<U28>::type x28(args[28]);
1172         typename traits::input_parameter<U29>::type x29(args[29]);
1173         typename traits::input_parameter<U30>::type x30(args[30]);
1174         typename traits::input_parameter<U31>::type x31(args[31]);
1175         typename traits::input_parameter<U32>::type x32(args[32]);
1176         typename traits::input_parameter<U33>::type x33(args[33]);
1177         typename traits::input_parameter<U34>::type x34(args[34]);
1178         typename traits::input_parameter<U35>::type x35(args[35]);
1179         typename traits::input_parameter<U36>::type x36(args[36]);
1180         typename traits::input_parameter<U37>::type x37(args[37]);
1181         typename traits::input_parameter<U38>::type x38(args[38]);
1182         typename traits::input_parameter<U39>::type x39(args[39]);
1183         typename traits::input_parameter<U40>::type x40(args[40]);
1184         typename traits::input_parameter<U41>::type x41(args[41]);
1185         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41);
1186     }
1187 
1188 
1189     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42)> & fun,SEXP * args)1190     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42)> &fun, SEXP* args) {
1191         typename traits::input_parameter<U0>::type x0(args[0]);
1192         typename traits::input_parameter<U1>::type x1(args[1]);
1193         typename traits::input_parameter<U2>::type x2(args[2]);
1194         typename traits::input_parameter<U3>::type x3(args[3]);
1195         typename traits::input_parameter<U4>::type x4(args[4]);
1196         typename traits::input_parameter<U5>::type x5(args[5]);
1197         typename traits::input_parameter<U6>::type x6(args[6]);
1198         typename traits::input_parameter<U7>::type x7(args[7]);
1199         typename traits::input_parameter<U8>::type x8(args[8]);
1200         typename traits::input_parameter<U9>::type x9(args[9]);
1201         typename traits::input_parameter<U10>::type x10(args[10]);
1202         typename traits::input_parameter<U11>::type x11(args[11]);
1203         typename traits::input_parameter<U12>::type x12(args[12]);
1204         typename traits::input_parameter<U13>::type x13(args[13]);
1205         typename traits::input_parameter<U14>::type x14(args[14]);
1206         typename traits::input_parameter<U15>::type x15(args[15]);
1207         typename traits::input_parameter<U16>::type x16(args[16]);
1208         typename traits::input_parameter<U17>::type x17(args[17]);
1209         typename traits::input_parameter<U18>::type x18(args[18]);
1210         typename traits::input_parameter<U19>::type x19(args[19]);
1211         typename traits::input_parameter<U20>::type x20(args[20]);
1212         typename traits::input_parameter<U21>::type x21(args[21]);
1213         typename traits::input_parameter<U22>::type x22(args[22]);
1214         typename traits::input_parameter<U23>::type x23(args[23]);
1215         typename traits::input_parameter<U24>::type x24(args[24]);
1216         typename traits::input_parameter<U25>::type x25(args[25]);
1217         typename traits::input_parameter<U26>::type x26(args[26]);
1218         typename traits::input_parameter<U27>::type x27(args[27]);
1219         typename traits::input_parameter<U28>::type x28(args[28]);
1220         typename traits::input_parameter<U29>::type x29(args[29]);
1221         typename traits::input_parameter<U30>::type x30(args[30]);
1222         typename traits::input_parameter<U31>::type x31(args[31]);
1223         typename traits::input_parameter<U32>::type x32(args[32]);
1224         typename traits::input_parameter<U33>::type x33(args[33]);
1225         typename traits::input_parameter<U34>::type x34(args[34]);
1226         typename traits::input_parameter<U35>::type x35(args[35]);
1227         typename traits::input_parameter<U36>::type x36(args[36]);
1228         typename traits::input_parameter<U37>::type x37(args[37]);
1229         typename traits::input_parameter<U38>::type x38(args[38]);
1230         typename traits::input_parameter<U39>::type x39(args[39]);
1231         typename traits::input_parameter<U40>::type x40(args[40]);
1232         typename traits::input_parameter<U41>::type x41(args[41]);
1233         typename traits::input_parameter<U42>::type x42(args[42]);
1234         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42);
1235     }
1236 
1237 
1238     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43)> & fun,SEXP * args)1239     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43)> &fun, SEXP* args) {
1240         typename traits::input_parameter<U0>::type x0(args[0]);
1241         typename traits::input_parameter<U1>::type x1(args[1]);
1242         typename traits::input_parameter<U2>::type x2(args[2]);
1243         typename traits::input_parameter<U3>::type x3(args[3]);
1244         typename traits::input_parameter<U4>::type x4(args[4]);
1245         typename traits::input_parameter<U5>::type x5(args[5]);
1246         typename traits::input_parameter<U6>::type x6(args[6]);
1247         typename traits::input_parameter<U7>::type x7(args[7]);
1248         typename traits::input_parameter<U8>::type x8(args[8]);
1249         typename traits::input_parameter<U9>::type x9(args[9]);
1250         typename traits::input_parameter<U10>::type x10(args[10]);
1251         typename traits::input_parameter<U11>::type x11(args[11]);
1252         typename traits::input_parameter<U12>::type x12(args[12]);
1253         typename traits::input_parameter<U13>::type x13(args[13]);
1254         typename traits::input_parameter<U14>::type x14(args[14]);
1255         typename traits::input_parameter<U15>::type x15(args[15]);
1256         typename traits::input_parameter<U16>::type x16(args[16]);
1257         typename traits::input_parameter<U17>::type x17(args[17]);
1258         typename traits::input_parameter<U18>::type x18(args[18]);
1259         typename traits::input_parameter<U19>::type x19(args[19]);
1260         typename traits::input_parameter<U20>::type x20(args[20]);
1261         typename traits::input_parameter<U21>::type x21(args[21]);
1262         typename traits::input_parameter<U22>::type x22(args[22]);
1263         typename traits::input_parameter<U23>::type x23(args[23]);
1264         typename traits::input_parameter<U24>::type x24(args[24]);
1265         typename traits::input_parameter<U25>::type x25(args[25]);
1266         typename traits::input_parameter<U26>::type x26(args[26]);
1267         typename traits::input_parameter<U27>::type x27(args[27]);
1268         typename traits::input_parameter<U28>::type x28(args[28]);
1269         typename traits::input_parameter<U29>::type x29(args[29]);
1270         typename traits::input_parameter<U30>::type x30(args[30]);
1271         typename traits::input_parameter<U31>::type x31(args[31]);
1272         typename traits::input_parameter<U32>::type x32(args[32]);
1273         typename traits::input_parameter<U33>::type x33(args[33]);
1274         typename traits::input_parameter<U34>::type x34(args[34]);
1275         typename traits::input_parameter<U35>::type x35(args[35]);
1276         typename traits::input_parameter<U36>::type x36(args[36]);
1277         typename traits::input_parameter<U37>::type x37(args[37]);
1278         typename traits::input_parameter<U38>::type x38(args[38]);
1279         typename traits::input_parameter<U39>::type x39(args[39]);
1280         typename traits::input_parameter<U40>::type x40(args[40]);
1281         typename traits::input_parameter<U41>::type x41(args[41]);
1282         typename traits::input_parameter<U42>::type x42(args[42]);
1283         typename traits::input_parameter<U43>::type x43(args[43]);
1284         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43);
1285     }
1286 
1287 
1288     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44)> & fun,SEXP * args)1289     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44)> &fun, SEXP* args) {
1290         typename traits::input_parameter<U0>::type x0(args[0]);
1291         typename traits::input_parameter<U1>::type x1(args[1]);
1292         typename traits::input_parameter<U2>::type x2(args[2]);
1293         typename traits::input_parameter<U3>::type x3(args[3]);
1294         typename traits::input_parameter<U4>::type x4(args[4]);
1295         typename traits::input_parameter<U5>::type x5(args[5]);
1296         typename traits::input_parameter<U6>::type x6(args[6]);
1297         typename traits::input_parameter<U7>::type x7(args[7]);
1298         typename traits::input_parameter<U8>::type x8(args[8]);
1299         typename traits::input_parameter<U9>::type x9(args[9]);
1300         typename traits::input_parameter<U10>::type x10(args[10]);
1301         typename traits::input_parameter<U11>::type x11(args[11]);
1302         typename traits::input_parameter<U12>::type x12(args[12]);
1303         typename traits::input_parameter<U13>::type x13(args[13]);
1304         typename traits::input_parameter<U14>::type x14(args[14]);
1305         typename traits::input_parameter<U15>::type x15(args[15]);
1306         typename traits::input_parameter<U16>::type x16(args[16]);
1307         typename traits::input_parameter<U17>::type x17(args[17]);
1308         typename traits::input_parameter<U18>::type x18(args[18]);
1309         typename traits::input_parameter<U19>::type x19(args[19]);
1310         typename traits::input_parameter<U20>::type x20(args[20]);
1311         typename traits::input_parameter<U21>::type x21(args[21]);
1312         typename traits::input_parameter<U22>::type x22(args[22]);
1313         typename traits::input_parameter<U23>::type x23(args[23]);
1314         typename traits::input_parameter<U24>::type x24(args[24]);
1315         typename traits::input_parameter<U25>::type x25(args[25]);
1316         typename traits::input_parameter<U26>::type x26(args[26]);
1317         typename traits::input_parameter<U27>::type x27(args[27]);
1318         typename traits::input_parameter<U28>::type x28(args[28]);
1319         typename traits::input_parameter<U29>::type x29(args[29]);
1320         typename traits::input_parameter<U30>::type x30(args[30]);
1321         typename traits::input_parameter<U31>::type x31(args[31]);
1322         typename traits::input_parameter<U32>::type x32(args[32]);
1323         typename traits::input_parameter<U33>::type x33(args[33]);
1324         typename traits::input_parameter<U34>::type x34(args[34]);
1325         typename traits::input_parameter<U35>::type x35(args[35]);
1326         typename traits::input_parameter<U36>::type x36(args[36]);
1327         typename traits::input_parameter<U37>::type x37(args[37]);
1328         typename traits::input_parameter<U38>::type x38(args[38]);
1329         typename traits::input_parameter<U39>::type x39(args[39]);
1330         typename traits::input_parameter<U40>::type x40(args[40]);
1331         typename traits::input_parameter<U41>::type x41(args[41]);
1332         typename traits::input_parameter<U42>::type x42(args[42]);
1333         typename traits::input_parameter<U43>::type x43(args[43]);
1334         typename traits::input_parameter<U44>::type x44(args[44]);
1335         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44);
1336     }
1337 
1338 
1339     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45)> & fun,SEXP * args)1340     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45)> &fun, SEXP* args) {
1341         typename traits::input_parameter<U0>::type x0(args[0]);
1342         typename traits::input_parameter<U1>::type x1(args[1]);
1343         typename traits::input_parameter<U2>::type x2(args[2]);
1344         typename traits::input_parameter<U3>::type x3(args[3]);
1345         typename traits::input_parameter<U4>::type x4(args[4]);
1346         typename traits::input_parameter<U5>::type x5(args[5]);
1347         typename traits::input_parameter<U6>::type x6(args[6]);
1348         typename traits::input_parameter<U7>::type x7(args[7]);
1349         typename traits::input_parameter<U8>::type x8(args[8]);
1350         typename traits::input_parameter<U9>::type x9(args[9]);
1351         typename traits::input_parameter<U10>::type x10(args[10]);
1352         typename traits::input_parameter<U11>::type x11(args[11]);
1353         typename traits::input_parameter<U12>::type x12(args[12]);
1354         typename traits::input_parameter<U13>::type x13(args[13]);
1355         typename traits::input_parameter<U14>::type x14(args[14]);
1356         typename traits::input_parameter<U15>::type x15(args[15]);
1357         typename traits::input_parameter<U16>::type x16(args[16]);
1358         typename traits::input_parameter<U17>::type x17(args[17]);
1359         typename traits::input_parameter<U18>::type x18(args[18]);
1360         typename traits::input_parameter<U19>::type x19(args[19]);
1361         typename traits::input_parameter<U20>::type x20(args[20]);
1362         typename traits::input_parameter<U21>::type x21(args[21]);
1363         typename traits::input_parameter<U22>::type x22(args[22]);
1364         typename traits::input_parameter<U23>::type x23(args[23]);
1365         typename traits::input_parameter<U24>::type x24(args[24]);
1366         typename traits::input_parameter<U25>::type x25(args[25]);
1367         typename traits::input_parameter<U26>::type x26(args[26]);
1368         typename traits::input_parameter<U27>::type x27(args[27]);
1369         typename traits::input_parameter<U28>::type x28(args[28]);
1370         typename traits::input_parameter<U29>::type x29(args[29]);
1371         typename traits::input_parameter<U30>::type x30(args[30]);
1372         typename traits::input_parameter<U31>::type x31(args[31]);
1373         typename traits::input_parameter<U32>::type x32(args[32]);
1374         typename traits::input_parameter<U33>::type x33(args[33]);
1375         typename traits::input_parameter<U34>::type x34(args[34]);
1376         typename traits::input_parameter<U35>::type x35(args[35]);
1377         typename traits::input_parameter<U36>::type x36(args[36]);
1378         typename traits::input_parameter<U37>::type x37(args[37]);
1379         typename traits::input_parameter<U38>::type x38(args[38]);
1380         typename traits::input_parameter<U39>::type x39(args[39]);
1381         typename traits::input_parameter<U40>::type x40(args[40]);
1382         typename traits::input_parameter<U41>::type x41(args[41]);
1383         typename traits::input_parameter<U42>::type x42(args[42]);
1384         typename traits::input_parameter<U43>::type x43(args[43]);
1385         typename traits::input_parameter<U44>::type x44(args[44]);
1386         typename traits::input_parameter<U45>::type x45(args[45]);
1387         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45);
1388     }
1389 
1390 
1391     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46)> & fun,SEXP * args)1392     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46)> &fun, SEXP* args) {
1393         typename traits::input_parameter<U0>::type x0(args[0]);
1394         typename traits::input_parameter<U1>::type x1(args[1]);
1395         typename traits::input_parameter<U2>::type x2(args[2]);
1396         typename traits::input_parameter<U3>::type x3(args[3]);
1397         typename traits::input_parameter<U4>::type x4(args[4]);
1398         typename traits::input_parameter<U5>::type x5(args[5]);
1399         typename traits::input_parameter<U6>::type x6(args[6]);
1400         typename traits::input_parameter<U7>::type x7(args[7]);
1401         typename traits::input_parameter<U8>::type x8(args[8]);
1402         typename traits::input_parameter<U9>::type x9(args[9]);
1403         typename traits::input_parameter<U10>::type x10(args[10]);
1404         typename traits::input_parameter<U11>::type x11(args[11]);
1405         typename traits::input_parameter<U12>::type x12(args[12]);
1406         typename traits::input_parameter<U13>::type x13(args[13]);
1407         typename traits::input_parameter<U14>::type x14(args[14]);
1408         typename traits::input_parameter<U15>::type x15(args[15]);
1409         typename traits::input_parameter<U16>::type x16(args[16]);
1410         typename traits::input_parameter<U17>::type x17(args[17]);
1411         typename traits::input_parameter<U18>::type x18(args[18]);
1412         typename traits::input_parameter<U19>::type x19(args[19]);
1413         typename traits::input_parameter<U20>::type x20(args[20]);
1414         typename traits::input_parameter<U21>::type x21(args[21]);
1415         typename traits::input_parameter<U22>::type x22(args[22]);
1416         typename traits::input_parameter<U23>::type x23(args[23]);
1417         typename traits::input_parameter<U24>::type x24(args[24]);
1418         typename traits::input_parameter<U25>::type x25(args[25]);
1419         typename traits::input_parameter<U26>::type x26(args[26]);
1420         typename traits::input_parameter<U27>::type x27(args[27]);
1421         typename traits::input_parameter<U28>::type x28(args[28]);
1422         typename traits::input_parameter<U29>::type x29(args[29]);
1423         typename traits::input_parameter<U30>::type x30(args[30]);
1424         typename traits::input_parameter<U31>::type x31(args[31]);
1425         typename traits::input_parameter<U32>::type x32(args[32]);
1426         typename traits::input_parameter<U33>::type x33(args[33]);
1427         typename traits::input_parameter<U34>::type x34(args[34]);
1428         typename traits::input_parameter<U35>::type x35(args[35]);
1429         typename traits::input_parameter<U36>::type x36(args[36]);
1430         typename traits::input_parameter<U37>::type x37(args[37]);
1431         typename traits::input_parameter<U38>::type x38(args[38]);
1432         typename traits::input_parameter<U39>::type x39(args[39]);
1433         typename traits::input_parameter<U40>::type x40(args[40]);
1434         typename traits::input_parameter<U41>::type x41(args[41]);
1435         typename traits::input_parameter<U42>::type x42(args[42]);
1436         typename traits::input_parameter<U43>::type x43(args[43]);
1437         typename traits::input_parameter<U44>::type x44(args[44]);
1438         typename traits::input_parameter<U45>::type x45(args[45]);
1439         typename traits::input_parameter<U46>::type x46(args[46]);
1440         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46);
1441     }
1442 
1443 
1444     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47)> & fun,SEXP * args)1445     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47)> &fun, SEXP* args) {
1446         typename traits::input_parameter<U0>::type x0(args[0]);
1447         typename traits::input_parameter<U1>::type x1(args[1]);
1448         typename traits::input_parameter<U2>::type x2(args[2]);
1449         typename traits::input_parameter<U3>::type x3(args[3]);
1450         typename traits::input_parameter<U4>::type x4(args[4]);
1451         typename traits::input_parameter<U5>::type x5(args[5]);
1452         typename traits::input_parameter<U6>::type x6(args[6]);
1453         typename traits::input_parameter<U7>::type x7(args[7]);
1454         typename traits::input_parameter<U8>::type x8(args[8]);
1455         typename traits::input_parameter<U9>::type x9(args[9]);
1456         typename traits::input_parameter<U10>::type x10(args[10]);
1457         typename traits::input_parameter<U11>::type x11(args[11]);
1458         typename traits::input_parameter<U12>::type x12(args[12]);
1459         typename traits::input_parameter<U13>::type x13(args[13]);
1460         typename traits::input_parameter<U14>::type x14(args[14]);
1461         typename traits::input_parameter<U15>::type x15(args[15]);
1462         typename traits::input_parameter<U16>::type x16(args[16]);
1463         typename traits::input_parameter<U17>::type x17(args[17]);
1464         typename traits::input_parameter<U18>::type x18(args[18]);
1465         typename traits::input_parameter<U19>::type x19(args[19]);
1466         typename traits::input_parameter<U20>::type x20(args[20]);
1467         typename traits::input_parameter<U21>::type x21(args[21]);
1468         typename traits::input_parameter<U22>::type x22(args[22]);
1469         typename traits::input_parameter<U23>::type x23(args[23]);
1470         typename traits::input_parameter<U24>::type x24(args[24]);
1471         typename traits::input_parameter<U25>::type x25(args[25]);
1472         typename traits::input_parameter<U26>::type x26(args[26]);
1473         typename traits::input_parameter<U27>::type x27(args[27]);
1474         typename traits::input_parameter<U28>::type x28(args[28]);
1475         typename traits::input_parameter<U29>::type x29(args[29]);
1476         typename traits::input_parameter<U30>::type x30(args[30]);
1477         typename traits::input_parameter<U31>::type x31(args[31]);
1478         typename traits::input_parameter<U32>::type x32(args[32]);
1479         typename traits::input_parameter<U33>::type x33(args[33]);
1480         typename traits::input_parameter<U34>::type x34(args[34]);
1481         typename traits::input_parameter<U35>::type x35(args[35]);
1482         typename traits::input_parameter<U36>::type x36(args[36]);
1483         typename traits::input_parameter<U37>::type x37(args[37]);
1484         typename traits::input_parameter<U38>::type x38(args[38]);
1485         typename traits::input_parameter<U39>::type x39(args[39]);
1486         typename traits::input_parameter<U40>::type x40(args[40]);
1487         typename traits::input_parameter<U41>::type x41(args[41]);
1488         typename traits::input_parameter<U42>::type x42(args[42]);
1489         typename traits::input_parameter<U43>::type x43(args[43]);
1490         typename traits::input_parameter<U44>::type x44(args[44]);
1491         typename traits::input_parameter<U45>::type x45(args[45]);
1492         typename traits::input_parameter<U46>::type x46(args[46]);
1493         typename traits::input_parameter<U47>::type x47(args[47]);
1494         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47);
1495     }
1496 
1497 
1498     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48)> & fun,SEXP * args)1499     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48)> &fun, SEXP* args) {
1500         typename traits::input_parameter<U0>::type x0(args[0]);
1501         typename traits::input_parameter<U1>::type x1(args[1]);
1502         typename traits::input_parameter<U2>::type x2(args[2]);
1503         typename traits::input_parameter<U3>::type x3(args[3]);
1504         typename traits::input_parameter<U4>::type x4(args[4]);
1505         typename traits::input_parameter<U5>::type x5(args[5]);
1506         typename traits::input_parameter<U6>::type x6(args[6]);
1507         typename traits::input_parameter<U7>::type x7(args[7]);
1508         typename traits::input_parameter<U8>::type x8(args[8]);
1509         typename traits::input_parameter<U9>::type x9(args[9]);
1510         typename traits::input_parameter<U10>::type x10(args[10]);
1511         typename traits::input_parameter<U11>::type x11(args[11]);
1512         typename traits::input_parameter<U12>::type x12(args[12]);
1513         typename traits::input_parameter<U13>::type x13(args[13]);
1514         typename traits::input_parameter<U14>::type x14(args[14]);
1515         typename traits::input_parameter<U15>::type x15(args[15]);
1516         typename traits::input_parameter<U16>::type x16(args[16]);
1517         typename traits::input_parameter<U17>::type x17(args[17]);
1518         typename traits::input_parameter<U18>::type x18(args[18]);
1519         typename traits::input_parameter<U19>::type x19(args[19]);
1520         typename traits::input_parameter<U20>::type x20(args[20]);
1521         typename traits::input_parameter<U21>::type x21(args[21]);
1522         typename traits::input_parameter<U22>::type x22(args[22]);
1523         typename traits::input_parameter<U23>::type x23(args[23]);
1524         typename traits::input_parameter<U24>::type x24(args[24]);
1525         typename traits::input_parameter<U25>::type x25(args[25]);
1526         typename traits::input_parameter<U26>::type x26(args[26]);
1527         typename traits::input_parameter<U27>::type x27(args[27]);
1528         typename traits::input_parameter<U28>::type x28(args[28]);
1529         typename traits::input_parameter<U29>::type x29(args[29]);
1530         typename traits::input_parameter<U30>::type x30(args[30]);
1531         typename traits::input_parameter<U31>::type x31(args[31]);
1532         typename traits::input_parameter<U32>::type x32(args[32]);
1533         typename traits::input_parameter<U33>::type x33(args[33]);
1534         typename traits::input_parameter<U34>::type x34(args[34]);
1535         typename traits::input_parameter<U35>::type x35(args[35]);
1536         typename traits::input_parameter<U36>::type x36(args[36]);
1537         typename traits::input_parameter<U37>::type x37(args[37]);
1538         typename traits::input_parameter<U38>::type x38(args[38]);
1539         typename traits::input_parameter<U39>::type x39(args[39]);
1540         typename traits::input_parameter<U40>::type x40(args[40]);
1541         typename traits::input_parameter<U41>::type x41(args[41]);
1542         typename traits::input_parameter<U42>::type x42(args[42]);
1543         typename traits::input_parameter<U43>::type x43(args[43]);
1544         typename traits::input_parameter<U44>::type x44(args[44]);
1545         typename traits::input_parameter<U45>::type x45(args[45]);
1546         typename traits::input_parameter<U46>::type x46(args[46]);
1547         typename traits::input_parameter<U47>::type x47(args[47]);
1548         typename traits::input_parameter<U48>::type x48(args[48]);
1549         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48);
1550     }
1551 
1552 
1553     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49)> & fun,SEXP * args)1554     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49)> &fun, SEXP* args) {
1555         typename traits::input_parameter<U0>::type x0(args[0]);
1556         typename traits::input_parameter<U1>::type x1(args[1]);
1557         typename traits::input_parameter<U2>::type x2(args[2]);
1558         typename traits::input_parameter<U3>::type x3(args[3]);
1559         typename traits::input_parameter<U4>::type x4(args[4]);
1560         typename traits::input_parameter<U5>::type x5(args[5]);
1561         typename traits::input_parameter<U6>::type x6(args[6]);
1562         typename traits::input_parameter<U7>::type x7(args[7]);
1563         typename traits::input_parameter<U8>::type x8(args[8]);
1564         typename traits::input_parameter<U9>::type x9(args[9]);
1565         typename traits::input_parameter<U10>::type x10(args[10]);
1566         typename traits::input_parameter<U11>::type x11(args[11]);
1567         typename traits::input_parameter<U12>::type x12(args[12]);
1568         typename traits::input_parameter<U13>::type x13(args[13]);
1569         typename traits::input_parameter<U14>::type x14(args[14]);
1570         typename traits::input_parameter<U15>::type x15(args[15]);
1571         typename traits::input_parameter<U16>::type x16(args[16]);
1572         typename traits::input_parameter<U17>::type x17(args[17]);
1573         typename traits::input_parameter<U18>::type x18(args[18]);
1574         typename traits::input_parameter<U19>::type x19(args[19]);
1575         typename traits::input_parameter<U20>::type x20(args[20]);
1576         typename traits::input_parameter<U21>::type x21(args[21]);
1577         typename traits::input_parameter<U22>::type x22(args[22]);
1578         typename traits::input_parameter<U23>::type x23(args[23]);
1579         typename traits::input_parameter<U24>::type x24(args[24]);
1580         typename traits::input_parameter<U25>::type x25(args[25]);
1581         typename traits::input_parameter<U26>::type x26(args[26]);
1582         typename traits::input_parameter<U27>::type x27(args[27]);
1583         typename traits::input_parameter<U28>::type x28(args[28]);
1584         typename traits::input_parameter<U29>::type x29(args[29]);
1585         typename traits::input_parameter<U30>::type x30(args[30]);
1586         typename traits::input_parameter<U31>::type x31(args[31]);
1587         typename traits::input_parameter<U32>::type x32(args[32]);
1588         typename traits::input_parameter<U33>::type x33(args[33]);
1589         typename traits::input_parameter<U34>::type x34(args[34]);
1590         typename traits::input_parameter<U35>::type x35(args[35]);
1591         typename traits::input_parameter<U36>::type x36(args[36]);
1592         typename traits::input_parameter<U37>::type x37(args[37]);
1593         typename traits::input_parameter<U38>::type x38(args[38]);
1594         typename traits::input_parameter<U39>::type x39(args[39]);
1595         typename traits::input_parameter<U40>::type x40(args[40]);
1596         typename traits::input_parameter<U41>::type x41(args[41]);
1597         typename traits::input_parameter<U42>::type x42(args[42]);
1598         typename traits::input_parameter<U43>::type x43(args[43]);
1599         typename traits::input_parameter<U44>::type x44(args[44]);
1600         typename traits::input_parameter<U45>::type x45(args[45]);
1601         typename traits::input_parameter<U46>::type x46(args[46]);
1602         typename traits::input_parameter<U47>::type x47(args[47]);
1603         typename traits::input_parameter<U48>::type x48(args[48]);
1604         typename traits::input_parameter<U49>::type x49(args[49]);
1605         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49);
1606     }
1607 
1608 
1609     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50)> & fun,SEXP * args)1610     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50)> &fun, SEXP* args) {
1611         typename traits::input_parameter<U0>::type x0(args[0]);
1612         typename traits::input_parameter<U1>::type x1(args[1]);
1613         typename traits::input_parameter<U2>::type x2(args[2]);
1614         typename traits::input_parameter<U3>::type x3(args[3]);
1615         typename traits::input_parameter<U4>::type x4(args[4]);
1616         typename traits::input_parameter<U5>::type x5(args[5]);
1617         typename traits::input_parameter<U6>::type x6(args[6]);
1618         typename traits::input_parameter<U7>::type x7(args[7]);
1619         typename traits::input_parameter<U8>::type x8(args[8]);
1620         typename traits::input_parameter<U9>::type x9(args[9]);
1621         typename traits::input_parameter<U10>::type x10(args[10]);
1622         typename traits::input_parameter<U11>::type x11(args[11]);
1623         typename traits::input_parameter<U12>::type x12(args[12]);
1624         typename traits::input_parameter<U13>::type x13(args[13]);
1625         typename traits::input_parameter<U14>::type x14(args[14]);
1626         typename traits::input_parameter<U15>::type x15(args[15]);
1627         typename traits::input_parameter<U16>::type x16(args[16]);
1628         typename traits::input_parameter<U17>::type x17(args[17]);
1629         typename traits::input_parameter<U18>::type x18(args[18]);
1630         typename traits::input_parameter<U19>::type x19(args[19]);
1631         typename traits::input_parameter<U20>::type x20(args[20]);
1632         typename traits::input_parameter<U21>::type x21(args[21]);
1633         typename traits::input_parameter<U22>::type x22(args[22]);
1634         typename traits::input_parameter<U23>::type x23(args[23]);
1635         typename traits::input_parameter<U24>::type x24(args[24]);
1636         typename traits::input_parameter<U25>::type x25(args[25]);
1637         typename traits::input_parameter<U26>::type x26(args[26]);
1638         typename traits::input_parameter<U27>::type x27(args[27]);
1639         typename traits::input_parameter<U28>::type x28(args[28]);
1640         typename traits::input_parameter<U29>::type x29(args[29]);
1641         typename traits::input_parameter<U30>::type x30(args[30]);
1642         typename traits::input_parameter<U31>::type x31(args[31]);
1643         typename traits::input_parameter<U32>::type x32(args[32]);
1644         typename traits::input_parameter<U33>::type x33(args[33]);
1645         typename traits::input_parameter<U34>::type x34(args[34]);
1646         typename traits::input_parameter<U35>::type x35(args[35]);
1647         typename traits::input_parameter<U36>::type x36(args[36]);
1648         typename traits::input_parameter<U37>::type x37(args[37]);
1649         typename traits::input_parameter<U38>::type x38(args[38]);
1650         typename traits::input_parameter<U39>::type x39(args[39]);
1651         typename traits::input_parameter<U40>::type x40(args[40]);
1652         typename traits::input_parameter<U41>::type x41(args[41]);
1653         typename traits::input_parameter<U42>::type x42(args[42]);
1654         typename traits::input_parameter<U43>::type x43(args[43]);
1655         typename traits::input_parameter<U44>::type x44(args[44]);
1656         typename traits::input_parameter<U45>::type x45(args[45]);
1657         typename traits::input_parameter<U46>::type x46(args[46]);
1658         typename traits::input_parameter<U47>::type x47(args[47]);
1659         typename traits::input_parameter<U48>::type x48(args[48]);
1660         typename traits::input_parameter<U49>::type x49(args[49]);
1661         typename traits::input_parameter<U50>::type x50(args[50]);
1662         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50);
1663     }
1664 
1665 
1666     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51)> & fun,SEXP * args)1667     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51)> &fun, SEXP* args) {
1668         typename traits::input_parameter<U0>::type x0(args[0]);
1669         typename traits::input_parameter<U1>::type x1(args[1]);
1670         typename traits::input_parameter<U2>::type x2(args[2]);
1671         typename traits::input_parameter<U3>::type x3(args[3]);
1672         typename traits::input_parameter<U4>::type x4(args[4]);
1673         typename traits::input_parameter<U5>::type x5(args[5]);
1674         typename traits::input_parameter<U6>::type x6(args[6]);
1675         typename traits::input_parameter<U7>::type x7(args[7]);
1676         typename traits::input_parameter<U8>::type x8(args[8]);
1677         typename traits::input_parameter<U9>::type x9(args[9]);
1678         typename traits::input_parameter<U10>::type x10(args[10]);
1679         typename traits::input_parameter<U11>::type x11(args[11]);
1680         typename traits::input_parameter<U12>::type x12(args[12]);
1681         typename traits::input_parameter<U13>::type x13(args[13]);
1682         typename traits::input_parameter<U14>::type x14(args[14]);
1683         typename traits::input_parameter<U15>::type x15(args[15]);
1684         typename traits::input_parameter<U16>::type x16(args[16]);
1685         typename traits::input_parameter<U17>::type x17(args[17]);
1686         typename traits::input_parameter<U18>::type x18(args[18]);
1687         typename traits::input_parameter<U19>::type x19(args[19]);
1688         typename traits::input_parameter<U20>::type x20(args[20]);
1689         typename traits::input_parameter<U21>::type x21(args[21]);
1690         typename traits::input_parameter<U22>::type x22(args[22]);
1691         typename traits::input_parameter<U23>::type x23(args[23]);
1692         typename traits::input_parameter<U24>::type x24(args[24]);
1693         typename traits::input_parameter<U25>::type x25(args[25]);
1694         typename traits::input_parameter<U26>::type x26(args[26]);
1695         typename traits::input_parameter<U27>::type x27(args[27]);
1696         typename traits::input_parameter<U28>::type x28(args[28]);
1697         typename traits::input_parameter<U29>::type x29(args[29]);
1698         typename traits::input_parameter<U30>::type x30(args[30]);
1699         typename traits::input_parameter<U31>::type x31(args[31]);
1700         typename traits::input_parameter<U32>::type x32(args[32]);
1701         typename traits::input_parameter<U33>::type x33(args[33]);
1702         typename traits::input_parameter<U34>::type x34(args[34]);
1703         typename traits::input_parameter<U35>::type x35(args[35]);
1704         typename traits::input_parameter<U36>::type x36(args[36]);
1705         typename traits::input_parameter<U37>::type x37(args[37]);
1706         typename traits::input_parameter<U38>::type x38(args[38]);
1707         typename traits::input_parameter<U39>::type x39(args[39]);
1708         typename traits::input_parameter<U40>::type x40(args[40]);
1709         typename traits::input_parameter<U41>::type x41(args[41]);
1710         typename traits::input_parameter<U42>::type x42(args[42]);
1711         typename traits::input_parameter<U43>::type x43(args[43]);
1712         typename traits::input_parameter<U44>::type x44(args[44]);
1713         typename traits::input_parameter<U45>::type x45(args[45]);
1714         typename traits::input_parameter<U46>::type x46(args[46]);
1715         typename traits::input_parameter<U47>::type x47(args[47]);
1716         typename traits::input_parameter<U48>::type x48(args[48]);
1717         typename traits::input_parameter<U49>::type x49(args[49]);
1718         typename traits::input_parameter<U50>::type x50(args[50]);
1719         typename traits::input_parameter<U51>::type x51(args[51]);
1720         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51);
1721     }
1722 
1723 
1724     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52)> & fun,SEXP * args)1725     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52)> &fun, SEXP* args) {
1726         typename traits::input_parameter<U0>::type x0(args[0]);
1727         typename traits::input_parameter<U1>::type x1(args[1]);
1728         typename traits::input_parameter<U2>::type x2(args[2]);
1729         typename traits::input_parameter<U3>::type x3(args[3]);
1730         typename traits::input_parameter<U4>::type x4(args[4]);
1731         typename traits::input_parameter<U5>::type x5(args[5]);
1732         typename traits::input_parameter<U6>::type x6(args[6]);
1733         typename traits::input_parameter<U7>::type x7(args[7]);
1734         typename traits::input_parameter<U8>::type x8(args[8]);
1735         typename traits::input_parameter<U9>::type x9(args[9]);
1736         typename traits::input_parameter<U10>::type x10(args[10]);
1737         typename traits::input_parameter<U11>::type x11(args[11]);
1738         typename traits::input_parameter<U12>::type x12(args[12]);
1739         typename traits::input_parameter<U13>::type x13(args[13]);
1740         typename traits::input_parameter<U14>::type x14(args[14]);
1741         typename traits::input_parameter<U15>::type x15(args[15]);
1742         typename traits::input_parameter<U16>::type x16(args[16]);
1743         typename traits::input_parameter<U17>::type x17(args[17]);
1744         typename traits::input_parameter<U18>::type x18(args[18]);
1745         typename traits::input_parameter<U19>::type x19(args[19]);
1746         typename traits::input_parameter<U20>::type x20(args[20]);
1747         typename traits::input_parameter<U21>::type x21(args[21]);
1748         typename traits::input_parameter<U22>::type x22(args[22]);
1749         typename traits::input_parameter<U23>::type x23(args[23]);
1750         typename traits::input_parameter<U24>::type x24(args[24]);
1751         typename traits::input_parameter<U25>::type x25(args[25]);
1752         typename traits::input_parameter<U26>::type x26(args[26]);
1753         typename traits::input_parameter<U27>::type x27(args[27]);
1754         typename traits::input_parameter<U28>::type x28(args[28]);
1755         typename traits::input_parameter<U29>::type x29(args[29]);
1756         typename traits::input_parameter<U30>::type x30(args[30]);
1757         typename traits::input_parameter<U31>::type x31(args[31]);
1758         typename traits::input_parameter<U32>::type x32(args[32]);
1759         typename traits::input_parameter<U33>::type x33(args[33]);
1760         typename traits::input_parameter<U34>::type x34(args[34]);
1761         typename traits::input_parameter<U35>::type x35(args[35]);
1762         typename traits::input_parameter<U36>::type x36(args[36]);
1763         typename traits::input_parameter<U37>::type x37(args[37]);
1764         typename traits::input_parameter<U38>::type x38(args[38]);
1765         typename traits::input_parameter<U39>::type x39(args[39]);
1766         typename traits::input_parameter<U40>::type x40(args[40]);
1767         typename traits::input_parameter<U41>::type x41(args[41]);
1768         typename traits::input_parameter<U42>::type x42(args[42]);
1769         typename traits::input_parameter<U43>::type x43(args[43]);
1770         typename traits::input_parameter<U44>::type x44(args[44]);
1771         typename traits::input_parameter<U45>::type x45(args[45]);
1772         typename traits::input_parameter<U46>::type x46(args[46]);
1773         typename traits::input_parameter<U47>::type x47(args[47]);
1774         typename traits::input_parameter<U48>::type x48(args[48]);
1775         typename traits::input_parameter<U49>::type x49(args[49]);
1776         typename traits::input_parameter<U50>::type x50(args[50]);
1777         typename traits::input_parameter<U51>::type x51(args[51]);
1778         typename traits::input_parameter<U52>::type x52(args[52]);
1779         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52);
1780     }
1781 
1782 
1783     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53)> & fun,SEXP * args)1784     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53)> &fun, SEXP* args) {
1785         typename traits::input_parameter<U0>::type x0(args[0]);
1786         typename traits::input_parameter<U1>::type x1(args[1]);
1787         typename traits::input_parameter<U2>::type x2(args[2]);
1788         typename traits::input_parameter<U3>::type x3(args[3]);
1789         typename traits::input_parameter<U4>::type x4(args[4]);
1790         typename traits::input_parameter<U5>::type x5(args[5]);
1791         typename traits::input_parameter<U6>::type x6(args[6]);
1792         typename traits::input_parameter<U7>::type x7(args[7]);
1793         typename traits::input_parameter<U8>::type x8(args[8]);
1794         typename traits::input_parameter<U9>::type x9(args[9]);
1795         typename traits::input_parameter<U10>::type x10(args[10]);
1796         typename traits::input_parameter<U11>::type x11(args[11]);
1797         typename traits::input_parameter<U12>::type x12(args[12]);
1798         typename traits::input_parameter<U13>::type x13(args[13]);
1799         typename traits::input_parameter<U14>::type x14(args[14]);
1800         typename traits::input_parameter<U15>::type x15(args[15]);
1801         typename traits::input_parameter<U16>::type x16(args[16]);
1802         typename traits::input_parameter<U17>::type x17(args[17]);
1803         typename traits::input_parameter<U18>::type x18(args[18]);
1804         typename traits::input_parameter<U19>::type x19(args[19]);
1805         typename traits::input_parameter<U20>::type x20(args[20]);
1806         typename traits::input_parameter<U21>::type x21(args[21]);
1807         typename traits::input_parameter<U22>::type x22(args[22]);
1808         typename traits::input_parameter<U23>::type x23(args[23]);
1809         typename traits::input_parameter<U24>::type x24(args[24]);
1810         typename traits::input_parameter<U25>::type x25(args[25]);
1811         typename traits::input_parameter<U26>::type x26(args[26]);
1812         typename traits::input_parameter<U27>::type x27(args[27]);
1813         typename traits::input_parameter<U28>::type x28(args[28]);
1814         typename traits::input_parameter<U29>::type x29(args[29]);
1815         typename traits::input_parameter<U30>::type x30(args[30]);
1816         typename traits::input_parameter<U31>::type x31(args[31]);
1817         typename traits::input_parameter<U32>::type x32(args[32]);
1818         typename traits::input_parameter<U33>::type x33(args[33]);
1819         typename traits::input_parameter<U34>::type x34(args[34]);
1820         typename traits::input_parameter<U35>::type x35(args[35]);
1821         typename traits::input_parameter<U36>::type x36(args[36]);
1822         typename traits::input_parameter<U37>::type x37(args[37]);
1823         typename traits::input_parameter<U38>::type x38(args[38]);
1824         typename traits::input_parameter<U39>::type x39(args[39]);
1825         typename traits::input_parameter<U40>::type x40(args[40]);
1826         typename traits::input_parameter<U41>::type x41(args[41]);
1827         typename traits::input_parameter<U42>::type x42(args[42]);
1828         typename traits::input_parameter<U43>::type x43(args[43]);
1829         typename traits::input_parameter<U44>::type x44(args[44]);
1830         typename traits::input_parameter<U45>::type x45(args[45]);
1831         typename traits::input_parameter<U46>::type x46(args[46]);
1832         typename traits::input_parameter<U47>::type x47(args[47]);
1833         typename traits::input_parameter<U48>::type x48(args[48]);
1834         typename traits::input_parameter<U49>::type x49(args[49]);
1835         typename traits::input_parameter<U50>::type x50(args[50]);
1836         typename traits::input_parameter<U51>::type x51(args[51]);
1837         typename traits::input_parameter<U52>::type x52(args[52]);
1838         typename traits::input_parameter<U53>::type x53(args[53]);
1839         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53);
1840     }
1841 
1842 
1843     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54)> & fun,SEXP * args)1844     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54)> &fun, SEXP* args) {
1845         typename traits::input_parameter<U0>::type x0(args[0]);
1846         typename traits::input_parameter<U1>::type x1(args[1]);
1847         typename traits::input_parameter<U2>::type x2(args[2]);
1848         typename traits::input_parameter<U3>::type x3(args[3]);
1849         typename traits::input_parameter<U4>::type x4(args[4]);
1850         typename traits::input_parameter<U5>::type x5(args[5]);
1851         typename traits::input_parameter<U6>::type x6(args[6]);
1852         typename traits::input_parameter<U7>::type x7(args[7]);
1853         typename traits::input_parameter<U8>::type x8(args[8]);
1854         typename traits::input_parameter<U9>::type x9(args[9]);
1855         typename traits::input_parameter<U10>::type x10(args[10]);
1856         typename traits::input_parameter<U11>::type x11(args[11]);
1857         typename traits::input_parameter<U12>::type x12(args[12]);
1858         typename traits::input_parameter<U13>::type x13(args[13]);
1859         typename traits::input_parameter<U14>::type x14(args[14]);
1860         typename traits::input_parameter<U15>::type x15(args[15]);
1861         typename traits::input_parameter<U16>::type x16(args[16]);
1862         typename traits::input_parameter<U17>::type x17(args[17]);
1863         typename traits::input_parameter<U18>::type x18(args[18]);
1864         typename traits::input_parameter<U19>::type x19(args[19]);
1865         typename traits::input_parameter<U20>::type x20(args[20]);
1866         typename traits::input_parameter<U21>::type x21(args[21]);
1867         typename traits::input_parameter<U22>::type x22(args[22]);
1868         typename traits::input_parameter<U23>::type x23(args[23]);
1869         typename traits::input_parameter<U24>::type x24(args[24]);
1870         typename traits::input_parameter<U25>::type x25(args[25]);
1871         typename traits::input_parameter<U26>::type x26(args[26]);
1872         typename traits::input_parameter<U27>::type x27(args[27]);
1873         typename traits::input_parameter<U28>::type x28(args[28]);
1874         typename traits::input_parameter<U29>::type x29(args[29]);
1875         typename traits::input_parameter<U30>::type x30(args[30]);
1876         typename traits::input_parameter<U31>::type x31(args[31]);
1877         typename traits::input_parameter<U32>::type x32(args[32]);
1878         typename traits::input_parameter<U33>::type x33(args[33]);
1879         typename traits::input_parameter<U34>::type x34(args[34]);
1880         typename traits::input_parameter<U35>::type x35(args[35]);
1881         typename traits::input_parameter<U36>::type x36(args[36]);
1882         typename traits::input_parameter<U37>::type x37(args[37]);
1883         typename traits::input_parameter<U38>::type x38(args[38]);
1884         typename traits::input_parameter<U39>::type x39(args[39]);
1885         typename traits::input_parameter<U40>::type x40(args[40]);
1886         typename traits::input_parameter<U41>::type x41(args[41]);
1887         typename traits::input_parameter<U42>::type x42(args[42]);
1888         typename traits::input_parameter<U43>::type x43(args[43]);
1889         typename traits::input_parameter<U44>::type x44(args[44]);
1890         typename traits::input_parameter<U45>::type x45(args[45]);
1891         typename traits::input_parameter<U46>::type x46(args[46]);
1892         typename traits::input_parameter<U47>::type x47(args[47]);
1893         typename traits::input_parameter<U48>::type x48(args[48]);
1894         typename traits::input_parameter<U49>::type x49(args[49]);
1895         typename traits::input_parameter<U50>::type x50(args[50]);
1896         typename traits::input_parameter<U51>::type x51(args[51]);
1897         typename traits::input_parameter<U52>::type x52(args[52]);
1898         typename traits::input_parameter<U53>::type x53(args[53]);
1899         typename traits::input_parameter<U54>::type x54(args[54]);
1900         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54);
1901     }
1902 
1903 
1904     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55)> & fun,SEXP * args)1905     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55)> &fun, SEXP* args) {
1906         typename traits::input_parameter<U0>::type x0(args[0]);
1907         typename traits::input_parameter<U1>::type x1(args[1]);
1908         typename traits::input_parameter<U2>::type x2(args[2]);
1909         typename traits::input_parameter<U3>::type x3(args[3]);
1910         typename traits::input_parameter<U4>::type x4(args[4]);
1911         typename traits::input_parameter<U5>::type x5(args[5]);
1912         typename traits::input_parameter<U6>::type x6(args[6]);
1913         typename traits::input_parameter<U7>::type x7(args[7]);
1914         typename traits::input_parameter<U8>::type x8(args[8]);
1915         typename traits::input_parameter<U9>::type x9(args[9]);
1916         typename traits::input_parameter<U10>::type x10(args[10]);
1917         typename traits::input_parameter<U11>::type x11(args[11]);
1918         typename traits::input_parameter<U12>::type x12(args[12]);
1919         typename traits::input_parameter<U13>::type x13(args[13]);
1920         typename traits::input_parameter<U14>::type x14(args[14]);
1921         typename traits::input_parameter<U15>::type x15(args[15]);
1922         typename traits::input_parameter<U16>::type x16(args[16]);
1923         typename traits::input_parameter<U17>::type x17(args[17]);
1924         typename traits::input_parameter<U18>::type x18(args[18]);
1925         typename traits::input_parameter<U19>::type x19(args[19]);
1926         typename traits::input_parameter<U20>::type x20(args[20]);
1927         typename traits::input_parameter<U21>::type x21(args[21]);
1928         typename traits::input_parameter<U22>::type x22(args[22]);
1929         typename traits::input_parameter<U23>::type x23(args[23]);
1930         typename traits::input_parameter<U24>::type x24(args[24]);
1931         typename traits::input_parameter<U25>::type x25(args[25]);
1932         typename traits::input_parameter<U26>::type x26(args[26]);
1933         typename traits::input_parameter<U27>::type x27(args[27]);
1934         typename traits::input_parameter<U28>::type x28(args[28]);
1935         typename traits::input_parameter<U29>::type x29(args[29]);
1936         typename traits::input_parameter<U30>::type x30(args[30]);
1937         typename traits::input_parameter<U31>::type x31(args[31]);
1938         typename traits::input_parameter<U32>::type x32(args[32]);
1939         typename traits::input_parameter<U33>::type x33(args[33]);
1940         typename traits::input_parameter<U34>::type x34(args[34]);
1941         typename traits::input_parameter<U35>::type x35(args[35]);
1942         typename traits::input_parameter<U36>::type x36(args[36]);
1943         typename traits::input_parameter<U37>::type x37(args[37]);
1944         typename traits::input_parameter<U38>::type x38(args[38]);
1945         typename traits::input_parameter<U39>::type x39(args[39]);
1946         typename traits::input_parameter<U40>::type x40(args[40]);
1947         typename traits::input_parameter<U41>::type x41(args[41]);
1948         typename traits::input_parameter<U42>::type x42(args[42]);
1949         typename traits::input_parameter<U43>::type x43(args[43]);
1950         typename traits::input_parameter<U44>::type x44(args[44]);
1951         typename traits::input_parameter<U45>::type x45(args[45]);
1952         typename traits::input_parameter<U46>::type x46(args[46]);
1953         typename traits::input_parameter<U47>::type x47(args[47]);
1954         typename traits::input_parameter<U48>::type x48(args[48]);
1955         typename traits::input_parameter<U49>::type x49(args[49]);
1956         typename traits::input_parameter<U50>::type x50(args[50]);
1957         typename traits::input_parameter<U51>::type x51(args[51]);
1958         typename traits::input_parameter<U52>::type x52(args[52]);
1959         typename traits::input_parameter<U53>::type x53(args[53]);
1960         typename traits::input_parameter<U54>::type x54(args[54]);
1961         typename traits::input_parameter<U55>::type x55(args[55]);
1962         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55);
1963     }
1964 
1965 
1966     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56)> & fun,SEXP * args)1967     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56)> &fun, SEXP* args) {
1968         typename traits::input_parameter<U0>::type x0(args[0]);
1969         typename traits::input_parameter<U1>::type x1(args[1]);
1970         typename traits::input_parameter<U2>::type x2(args[2]);
1971         typename traits::input_parameter<U3>::type x3(args[3]);
1972         typename traits::input_parameter<U4>::type x4(args[4]);
1973         typename traits::input_parameter<U5>::type x5(args[5]);
1974         typename traits::input_parameter<U6>::type x6(args[6]);
1975         typename traits::input_parameter<U7>::type x7(args[7]);
1976         typename traits::input_parameter<U8>::type x8(args[8]);
1977         typename traits::input_parameter<U9>::type x9(args[9]);
1978         typename traits::input_parameter<U10>::type x10(args[10]);
1979         typename traits::input_parameter<U11>::type x11(args[11]);
1980         typename traits::input_parameter<U12>::type x12(args[12]);
1981         typename traits::input_parameter<U13>::type x13(args[13]);
1982         typename traits::input_parameter<U14>::type x14(args[14]);
1983         typename traits::input_parameter<U15>::type x15(args[15]);
1984         typename traits::input_parameter<U16>::type x16(args[16]);
1985         typename traits::input_parameter<U17>::type x17(args[17]);
1986         typename traits::input_parameter<U18>::type x18(args[18]);
1987         typename traits::input_parameter<U19>::type x19(args[19]);
1988         typename traits::input_parameter<U20>::type x20(args[20]);
1989         typename traits::input_parameter<U21>::type x21(args[21]);
1990         typename traits::input_parameter<U22>::type x22(args[22]);
1991         typename traits::input_parameter<U23>::type x23(args[23]);
1992         typename traits::input_parameter<U24>::type x24(args[24]);
1993         typename traits::input_parameter<U25>::type x25(args[25]);
1994         typename traits::input_parameter<U26>::type x26(args[26]);
1995         typename traits::input_parameter<U27>::type x27(args[27]);
1996         typename traits::input_parameter<U28>::type x28(args[28]);
1997         typename traits::input_parameter<U29>::type x29(args[29]);
1998         typename traits::input_parameter<U30>::type x30(args[30]);
1999         typename traits::input_parameter<U31>::type x31(args[31]);
2000         typename traits::input_parameter<U32>::type x32(args[32]);
2001         typename traits::input_parameter<U33>::type x33(args[33]);
2002         typename traits::input_parameter<U34>::type x34(args[34]);
2003         typename traits::input_parameter<U35>::type x35(args[35]);
2004         typename traits::input_parameter<U36>::type x36(args[36]);
2005         typename traits::input_parameter<U37>::type x37(args[37]);
2006         typename traits::input_parameter<U38>::type x38(args[38]);
2007         typename traits::input_parameter<U39>::type x39(args[39]);
2008         typename traits::input_parameter<U40>::type x40(args[40]);
2009         typename traits::input_parameter<U41>::type x41(args[41]);
2010         typename traits::input_parameter<U42>::type x42(args[42]);
2011         typename traits::input_parameter<U43>::type x43(args[43]);
2012         typename traits::input_parameter<U44>::type x44(args[44]);
2013         typename traits::input_parameter<U45>::type x45(args[45]);
2014         typename traits::input_parameter<U46>::type x46(args[46]);
2015         typename traits::input_parameter<U47>::type x47(args[47]);
2016         typename traits::input_parameter<U48>::type x48(args[48]);
2017         typename traits::input_parameter<U49>::type x49(args[49]);
2018         typename traits::input_parameter<U50>::type x50(args[50]);
2019         typename traits::input_parameter<U51>::type x51(args[51]);
2020         typename traits::input_parameter<U52>::type x52(args[52]);
2021         typename traits::input_parameter<U53>::type x53(args[53]);
2022         typename traits::input_parameter<U54>::type x54(args[54]);
2023         typename traits::input_parameter<U55>::type x55(args[55]);
2024         typename traits::input_parameter<U56>::type x56(args[56]);
2025         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56);
2026     }
2027 
2028 
2029     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56, typename U57>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57)> & fun,SEXP * args)2030     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57)> &fun, SEXP* args) {
2031         typename traits::input_parameter<U0>::type x0(args[0]);
2032         typename traits::input_parameter<U1>::type x1(args[1]);
2033         typename traits::input_parameter<U2>::type x2(args[2]);
2034         typename traits::input_parameter<U3>::type x3(args[3]);
2035         typename traits::input_parameter<U4>::type x4(args[4]);
2036         typename traits::input_parameter<U5>::type x5(args[5]);
2037         typename traits::input_parameter<U6>::type x6(args[6]);
2038         typename traits::input_parameter<U7>::type x7(args[7]);
2039         typename traits::input_parameter<U8>::type x8(args[8]);
2040         typename traits::input_parameter<U9>::type x9(args[9]);
2041         typename traits::input_parameter<U10>::type x10(args[10]);
2042         typename traits::input_parameter<U11>::type x11(args[11]);
2043         typename traits::input_parameter<U12>::type x12(args[12]);
2044         typename traits::input_parameter<U13>::type x13(args[13]);
2045         typename traits::input_parameter<U14>::type x14(args[14]);
2046         typename traits::input_parameter<U15>::type x15(args[15]);
2047         typename traits::input_parameter<U16>::type x16(args[16]);
2048         typename traits::input_parameter<U17>::type x17(args[17]);
2049         typename traits::input_parameter<U18>::type x18(args[18]);
2050         typename traits::input_parameter<U19>::type x19(args[19]);
2051         typename traits::input_parameter<U20>::type x20(args[20]);
2052         typename traits::input_parameter<U21>::type x21(args[21]);
2053         typename traits::input_parameter<U22>::type x22(args[22]);
2054         typename traits::input_parameter<U23>::type x23(args[23]);
2055         typename traits::input_parameter<U24>::type x24(args[24]);
2056         typename traits::input_parameter<U25>::type x25(args[25]);
2057         typename traits::input_parameter<U26>::type x26(args[26]);
2058         typename traits::input_parameter<U27>::type x27(args[27]);
2059         typename traits::input_parameter<U28>::type x28(args[28]);
2060         typename traits::input_parameter<U29>::type x29(args[29]);
2061         typename traits::input_parameter<U30>::type x30(args[30]);
2062         typename traits::input_parameter<U31>::type x31(args[31]);
2063         typename traits::input_parameter<U32>::type x32(args[32]);
2064         typename traits::input_parameter<U33>::type x33(args[33]);
2065         typename traits::input_parameter<U34>::type x34(args[34]);
2066         typename traits::input_parameter<U35>::type x35(args[35]);
2067         typename traits::input_parameter<U36>::type x36(args[36]);
2068         typename traits::input_parameter<U37>::type x37(args[37]);
2069         typename traits::input_parameter<U38>::type x38(args[38]);
2070         typename traits::input_parameter<U39>::type x39(args[39]);
2071         typename traits::input_parameter<U40>::type x40(args[40]);
2072         typename traits::input_parameter<U41>::type x41(args[41]);
2073         typename traits::input_parameter<U42>::type x42(args[42]);
2074         typename traits::input_parameter<U43>::type x43(args[43]);
2075         typename traits::input_parameter<U44>::type x44(args[44]);
2076         typename traits::input_parameter<U45>::type x45(args[45]);
2077         typename traits::input_parameter<U46>::type x46(args[46]);
2078         typename traits::input_parameter<U47>::type x47(args[47]);
2079         typename traits::input_parameter<U48>::type x48(args[48]);
2080         typename traits::input_parameter<U49>::type x49(args[49]);
2081         typename traits::input_parameter<U50>::type x50(args[50]);
2082         typename traits::input_parameter<U51>::type x51(args[51]);
2083         typename traits::input_parameter<U52>::type x52(args[52]);
2084         typename traits::input_parameter<U53>::type x53(args[53]);
2085         typename traits::input_parameter<U54>::type x54(args[54]);
2086         typename traits::input_parameter<U55>::type x55(args[55]);
2087         typename traits::input_parameter<U56>::type x56(args[56]);
2088         typename traits::input_parameter<U57>::type x57(args[57]);
2089         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57);
2090     }
2091 
2092 
2093     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56, typename U57, typename U58>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58)> & fun,SEXP * args)2094     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58)> &fun, SEXP* args) {
2095         typename traits::input_parameter<U0>::type x0(args[0]);
2096         typename traits::input_parameter<U1>::type x1(args[1]);
2097         typename traits::input_parameter<U2>::type x2(args[2]);
2098         typename traits::input_parameter<U3>::type x3(args[3]);
2099         typename traits::input_parameter<U4>::type x4(args[4]);
2100         typename traits::input_parameter<U5>::type x5(args[5]);
2101         typename traits::input_parameter<U6>::type x6(args[6]);
2102         typename traits::input_parameter<U7>::type x7(args[7]);
2103         typename traits::input_parameter<U8>::type x8(args[8]);
2104         typename traits::input_parameter<U9>::type x9(args[9]);
2105         typename traits::input_parameter<U10>::type x10(args[10]);
2106         typename traits::input_parameter<U11>::type x11(args[11]);
2107         typename traits::input_parameter<U12>::type x12(args[12]);
2108         typename traits::input_parameter<U13>::type x13(args[13]);
2109         typename traits::input_parameter<U14>::type x14(args[14]);
2110         typename traits::input_parameter<U15>::type x15(args[15]);
2111         typename traits::input_parameter<U16>::type x16(args[16]);
2112         typename traits::input_parameter<U17>::type x17(args[17]);
2113         typename traits::input_parameter<U18>::type x18(args[18]);
2114         typename traits::input_parameter<U19>::type x19(args[19]);
2115         typename traits::input_parameter<U20>::type x20(args[20]);
2116         typename traits::input_parameter<U21>::type x21(args[21]);
2117         typename traits::input_parameter<U22>::type x22(args[22]);
2118         typename traits::input_parameter<U23>::type x23(args[23]);
2119         typename traits::input_parameter<U24>::type x24(args[24]);
2120         typename traits::input_parameter<U25>::type x25(args[25]);
2121         typename traits::input_parameter<U26>::type x26(args[26]);
2122         typename traits::input_parameter<U27>::type x27(args[27]);
2123         typename traits::input_parameter<U28>::type x28(args[28]);
2124         typename traits::input_parameter<U29>::type x29(args[29]);
2125         typename traits::input_parameter<U30>::type x30(args[30]);
2126         typename traits::input_parameter<U31>::type x31(args[31]);
2127         typename traits::input_parameter<U32>::type x32(args[32]);
2128         typename traits::input_parameter<U33>::type x33(args[33]);
2129         typename traits::input_parameter<U34>::type x34(args[34]);
2130         typename traits::input_parameter<U35>::type x35(args[35]);
2131         typename traits::input_parameter<U36>::type x36(args[36]);
2132         typename traits::input_parameter<U37>::type x37(args[37]);
2133         typename traits::input_parameter<U38>::type x38(args[38]);
2134         typename traits::input_parameter<U39>::type x39(args[39]);
2135         typename traits::input_parameter<U40>::type x40(args[40]);
2136         typename traits::input_parameter<U41>::type x41(args[41]);
2137         typename traits::input_parameter<U42>::type x42(args[42]);
2138         typename traits::input_parameter<U43>::type x43(args[43]);
2139         typename traits::input_parameter<U44>::type x44(args[44]);
2140         typename traits::input_parameter<U45>::type x45(args[45]);
2141         typename traits::input_parameter<U46>::type x46(args[46]);
2142         typename traits::input_parameter<U47>::type x47(args[47]);
2143         typename traits::input_parameter<U48>::type x48(args[48]);
2144         typename traits::input_parameter<U49>::type x49(args[49]);
2145         typename traits::input_parameter<U50>::type x50(args[50]);
2146         typename traits::input_parameter<U51>::type x51(args[51]);
2147         typename traits::input_parameter<U52>::type x52(args[52]);
2148         typename traits::input_parameter<U53>::type x53(args[53]);
2149         typename traits::input_parameter<U54>::type x54(args[54]);
2150         typename traits::input_parameter<U55>::type x55(args[55]);
2151         typename traits::input_parameter<U56>::type x56(args[56]);
2152         typename traits::input_parameter<U57>::type x57(args[57]);
2153         typename traits::input_parameter<U58>::type x58(args[58]);
2154         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58);
2155     }
2156 
2157 
2158     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56, typename U57, typename U58, typename U59>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59)> & fun,SEXP * args)2159     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59)> &fun, SEXP* args) {
2160         typename traits::input_parameter<U0>::type x0(args[0]);
2161         typename traits::input_parameter<U1>::type x1(args[1]);
2162         typename traits::input_parameter<U2>::type x2(args[2]);
2163         typename traits::input_parameter<U3>::type x3(args[3]);
2164         typename traits::input_parameter<U4>::type x4(args[4]);
2165         typename traits::input_parameter<U5>::type x5(args[5]);
2166         typename traits::input_parameter<U6>::type x6(args[6]);
2167         typename traits::input_parameter<U7>::type x7(args[7]);
2168         typename traits::input_parameter<U8>::type x8(args[8]);
2169         typename traits::input_parameter<U9>::type x9(args[9]);
2170         typename traits::input_parameter<U10>::type x10(args[10]);
2171         typename traits::input_parameter<U11>::type x11(args[11]);
2172         typename traits::input_parameter<U12>::type x12(args[12]);
2173         typename traits::input_parameter<U13>::type x13(args[13]);
2174         typename traits::input_parameter<U14>::type x14(args[14]);
2175         typename traits::input_parameter<U15>::type x15(args[15]);
2176         typename traits::input_parameter<U16>::type x16(args[16]);
2177         typename traits::input_parameter<U17>::type x17(args[17]);
2178         typename traits::input_parameter<U18>::type x18(args[18]);
2179         typename traits::input_parameter<U19>::type x19(args[19]);
2180         typename traits::input_parameter<U20>::type x20(args[20]);
2181         typename traits::input_parameter<U21>::type x21(args[21]);
2182         typename traits::input_parameter<U22>::type x22(args[22]);
2183         typename traits::input_parameter<U23>::type x23(args[23]);
2184         typename traits::input_parameter<U24>::type x24(args[24]);
2185         typename traits::input_parameter<U25>::type x25(args[25]);
2186         typename traits::input_parameter<U26>::type x26(args[26]);
2187         typename traits::input_parameter<U27>::type x27(args[27]);
2188         typename traits::input_parameter<U28>::type x28(args[28]);
2189         typename traits::input_parameter<U29>::type x29(args[29]);
2190         typename traits::input_parameter<U30>::type x30(args[30]);
2191         typename traits::input_parameter<U31>::type x31(args[31]);
2192         typename traits::input_parameter<U32>::type x32(args[32]);
2193         typename traits::input_parameter<U33>::type x33(args[33]);
2194         typename traits::input_parameter<U34>::type x34(args[34]);
2195         typename traits::input_parameter<U35>::type x35(args[35]);
2196         typename traits::input_parameter<U36>::type x36(args[36]);
2197         typename traits::input_parameter<U37>::type x37(args[37]);
2198         typename traits::input_parameter<U38>::type x38(args[38]);
2199         typename traits::input_parameter<U39>::type x39(args[39]);
2200         typename traits::input_parameter<U40>::type x40(args[40]);
2201         typename traits::input_parameter<U41>::type x41(args[41]);
2202         typename traits::input_parameter<U42>::type x42(args[42]);
2203         typename traits::input_parameter<U43>::type x43(args[43]);
2204         typename traits::input_parameter<U44>::type x44(args[44]);
2205         typename traits::input_parameter<U45>::type x45(args[45]);
2206         typename traits::input_parameter<U46>::type x46(args[46]);
2207         typename traits::input_parameter<U47>::type x47(args[47]);
2208         typename traits::input_parameter<U48>::type x48(args[48]);
2209         typename traits::input_parameter<U49>::type x49(args[49]);
2210         typename traits::input_parameter<U50>::type x50(args[50]);
2211         typename traits::input_parameter<U51>::type x51(args[51]);
2212         typename traits::input_parameter<U52>::type x52(args[52]);
2213         typename traits::input_parameter<U53>::type x53(args[53]);
2214         typename traits::input_parameter<U54>::type x54(args[54]);
2215         typename traits::input_parameter<U55>::type x55(args[55]);
2216         typename traits::input_parameter<U56>::type x56(args[56]);
2217         typename traits::input_parameter<U57>::type x57(args[57]);
2218         typename traits::input_parameter<U58>::type x58(args[58]);
2219         typename traits::input_parameter<U59>::type x59(args[59]);
2220         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59);
2221     }
2222 
2223 
2224     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56, typename U57, typename U58, typename U59, typename U60>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60)> & fun,SEXP * args)2225     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60)> &fun, SEXP* args) {
2226         typename traits::input_parameter<U0>::type x0(args[0]);
2227         typename traits::input_parameter<U1>::type x1(args[1]);
2228         typename traits::input_parameter<U2>::type x2(args[2]);
2229         typename traits::input_parameter<U3>::type x3(args[3]);
2230         typename traits::input_parameter<U4>::type x4(args[4]);
2231         typename traits::input_parameter<U5>::type x5(args[5]);
2232         typename traits::input_parameter<U6>::type x6(args[6]);
2233         typename traits::input_parameter<U7>::type x7(args[7]);
2234         typename traits::input_parameter<U8>::type x8(args[8]);
2235         typename traits::input_parameter<U9>::type x9(args[9]);
2236         typename traits::input_parameter<U10>::type x10(args[10]);
2237         typename traits::input_parameter<U11>::type x11(args[11]);
2238         typename traits::input_parameter<U12>::type x12(args[12]);
2239         typename traits::input_parameter<U13>::type x13(args[13]);
2240         typename traits::input_parameter<U14>::type x14(args[14]);
2241         typename traits::input_parameter<U15>::type x15(args[15]);
2242         typename traits::input_parameter<U16>::type x16(args[16]);
2243         typename traits::input_parameter<U17>::type x17(args[17]);
2244         typename traits::input_parameter<U18>::type x18(args[18]);
2245         typename traits::input_parameter<U19>::type x19(args[19]);
2246         typename traits::input_parameter<U20>::type x20(args[20]);
2247         typename traits::input_parameter<U21>::type x21(args[21]);
2248         typename traits::input_parameter<U22>::type x22(args[22]);
2249         typename traits::input_parameter<U23>::type x23(args[23]);
2250         typename traits::input_parameter<U24>::type x24(args[24]);
2251         typename traits::input_parameter<U25>::type x25(args[25]);
2252         typename traits::input_parameter<U26>::type x26(args[26]);
2253         typename traits::input_parameter<U27>::type x27(args[27]);
2254         typename traits::input_parameter<U28>::type x28(args[28]);
2255         typename traits::input_parameter<U29>::type x29(args[29]);
2256         typename traits::input_parameter<U30>::type x30(args[30]);
2257         typename traits::input_parameter<U31>::type x31(args[31]);
2258         typename traits::input_parameter<U32>::type x32(args[32]);
2259         typename traits::input_parameter<U33>::type x33(args[33]);
2260         typename traits::input_parameter<U34>::type x34(args[34]);
2261         typename traits::input_parameter<U35>::type x35(args[35]);
2262         typename traits::input_parameter<U36>::type x36(args[36]);
2263         typename traits::input_parameter<U37>::type x37(args[37]);
2264         typename traits::input_parameter<U38>::type x38(args[38]);
2265         typename traits::input_parameter<U39>::type x39(args[39]);
2266         typename traits::input_parameter<U40>::type x40(args[40]);
2267         typename traits::input_parameter<U41>::type x41(args[41]);
2268         typename traits::input_parameter<U42>::type x42(args[42]);
2269         typename traits::input_parameter<U43>::type x43(args[43]);
2270         typename traits::input_parameter<U44>::type x44(args[44]);
2271         typename traits::input_parameter<U45>::type x45(args[45]);
2272         typename traits::input_parameter<U46>::type x46(args[46]);
2273         typename traits::input_parameter<U47>::type x47(args[47]);
2274         typename traits::input_parameter<U48>::type x48(args[48]);
2275         typename traits::input_parameter<U49>::type x49(args[49]);
2276         typename traits::input_parameter<U50>::type x50(args[50]);
2277         typename traits::input_parameter<U51>::type x51(args[51]);
2278         typename traits::input_parameter<U52>::type x52(args[52]);
2279         typename traits::input_parameter<U53>::type x53(args[53]);
2280         typename traits::input_parameter<U54>::type x54(args[54]);
2281         typename traits::input_parameter<U55>::type x55(args[55]);
2282         typename traits::input_parameter<U56>::type x56(args[56]);
2283         typename traits::input_parameter<U57>::type x57(args[57]);
2284         typename traits::input_parameter<U58>::type x58(args[58]);
2285         typename traits::input_parameter<U59>::type x59(args[59]);
2286         typename traits::input_parameter<U60>::type x60(args[60]);
2287         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59,x60);
2288     }
2289 
2290 
2291     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56, typename U57, typename U58, typename U59, typename U60, typename U61>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61)> & fun,SEXP * args)2292     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61)> &fun, SEXP* args) {
2293         typename traits::input_parameter<U0>::type x0(args[0]);
2294         typename traits::input_parameter<U1>::type x1(args[1]);
2295         typename traits::input_parameter<U2>::type x2(args[2]);
2296         typename traits::input_parameter<U3>::type x3(args[3]);
2297         typename traits::input_parameter<U4>::type x4(args[4]);
2298         typename traits::input_parameter<U5>::type x5(args[5]);
2299         typename traits::input_parameter<U6>::type x6(args[6]);
2300         typename traits::input_parameter<U7>::type x7(args[7]);
2301         typename traits::input_parameter<U8>::type x8(args[8]);
2302         typename traits::input_parameter<U9>::type x9(args[9]);
2303         typename traits::input_parameter<U10>::type x10(args[10]);
2304         typename traits::input_parameter<U11>::type x11(args[11]);
2305         typename traits::input_parameter<U12>::type x12(args[12]);
2306         typename traits::input_parameter<U13>::type x13(args[13]);
2307         typename traits::input_parameter<U14>::type x14(args[14]);
2308         typename traits::input_parameter<U15>::type x15(args[15]);
2309         typename traits::input_parameter<U16>::type x16(args[16]);
2310         typename traits::input_parameter<U17>::type x17(args[17]);
2311         typename traits::input_parameter<U18>::type x18(args[18]);
2312         typename traits::input_parameter<U19>::type x19(args[19]);
2313         typename traits::input_parameter<U20>::type x20(args[20]);
2314         typename traits::input_parameter<U21>::type x21(args[21]);
2315         typename traits::input_parameter<U22>::type x22(args[22]);
2316         typename traits::input_parameter<U23>::type x23(args[23]);
2317         typename traits::input_parameter<U24>::type x24(args[24]);
2318         typename traits::input_parameter<U25>::type x25(args[25]);
2319         typename traits::input_parameter<U26>::type x26(args[26]);
2320         typename traits::input_parameter<U27>::type x27(args[27]);
2321         typename traits::input_parameter<U28>::type x28(args[28]);
2322         typename traits::input_parameter<U29>::type x29(args[29]);
2323         typename traits::input_parameter<U30>::type x30(args[30]);
2324         typename traits::input_parameter<U31>::type x31(args[31]);
2325         typename traits::input_parameter<U32>::type x32(args[32]);
2326         typename traits::input_parameter<U33>::type x33(args[33]);
2327         typename traits::input_parameter<U34>::type x34(args[34]);
2328         typename traits::input_parameter<U35>::type x35(args[35]);
2329         typename traits::input_parameter<U36>::type x36(args[36]);
2330         typename traits::input_parameter<U37>::type x37(args[37]);
2331         typename traits::input_parameter<U38>::type x38(args[38]);
2332         typename traits::input_parameter<U39>::type x39(args[39]);
2333         typename traits::input_parameter<U40>::type x40(args[40]);
2334         typename traits::input_parameter<U41>::type x41(args[41]);
2335         typename traits::input_parameter<U42>::type x42(args[42]);
2336         typename traits::input_parameter<U43>::type x43(args[43]);
2337         typename traits::input_parameter<U44>::type x44(args[44]);
2338         typename traits::input_parameter<U45>::type x45(args[45]);
2339         typename traits::input_parameter<U46>::type x46(args[46]);
2340         typename traits::input_parameter<U47>::type x47(args[47]);
2341         typename traits::input_parameter<U48>::type x48(args[48]);
2342         typename traits::input_parameter<U49>::type x49(args[49]);
2343         typename traits::input_parameter<U50>::type x50(args[50]);
2344         typename traits::input_parameter<U51>::type x51(args[51]);
2345         typename traits::input_parameter<U52>::type x52(args[52]);
2346         typename traits::input_parameter<U53>::type x53(args[53]);
2347         typename traits::input_parameter<U54>::type x54(args[54]);
2348         typename traits::input_parameter<U55>::type x55(args[55]);
2349         typename traits::input_parameter<U56>::type x56(args[56]);
2350         typename traits::input_parameter<U57>::type x57(args[57]);
2351         typename traits::input_parameter<U58>::type x58(args[58]);
2352         typename traits::input_parameter<U59>::type x59(args[59]);
2353         typename traits::input_parameter<U60>::type x60(args[60]);
2354         typename traits::input_parameter<U61>::type x61(args[61]);
2355         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59,x60,x61);
2356     }
2357 
2358 
2359     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56, typename U57, typename U58, typename U59, typename U60, typename U61, typename U62>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61,U62)> & fun,SEXP * args)2360     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61,U62)> &fun, SEXP* args) {
2361         typename traits::input_parameter<U0>::type x0(args[0]);
2362         typename traits::input_parameter<U1>::type x1(args[1]);
2363         typename traits::input_parameter<U2>::type x2(args[2]);
2364         typename traits::input_parameter<U3>::type x3(args[3]);
2365         typename traits::input_parameter<U4>::type x4(args[4]);
2366         typename traits::input_parameter<U5>::type x5(args[5]);
2367         typename traits::input_parameter<U6>::type x6(args[6]);
2368         typename traits::input_parameter<U7>::type x7(args[7]);
2369         typename traits::input_parameter<U8>::type x8(args[8]);
2370         typename traits::input_parameter<U9>::type x9(args[9]);
2371         typename traits::input_parameter<U10>::type x10(args[10]);
2372         typename traits::input_parameter<U11>::type x11(args[11]);
2373         typename traits::input_parameter<U12>::type x12(args[12]);
2374         typename traits::input_parameter<U13>::type x13(args[13]);
2375         typename traits::input_parameter<U14>::type x14(args[14]);
2376         typename traits::input_parameter<U15>::type x15(args[15]);
2377         typename traits::input_parameter<U16>::type x16(args[16]);
2378         typename traits::input_parameter<U17>::type x17(args[17]);
2379         typename traits::input_parameter<U18>::type x18(args[18]);
2380         typename traits::input_parameter<U19>::type x19(args[19]);
2381         typename traits::input_parameter<U20>::type x20(args[20]);
2382         typename traits::input_parameter<U21>::type x21(args[21]);
2383         typename traits::input_parameter<U22>::type x22(args[22]);
2384         typename traits::input_parameter<U23>::type x23(args[23]);
2385         typename traits::input_parameter<U24>::type x24(args[24]);
2386         typename traits::input_parameter<U25>::type x25(args[25]);
2387         typename traits::input_parameter<U26>::type x26(args[26]);
2388         typename traits::input_parameter<U27>::type x27(args[27]);
2389         typename traits::input_parameter<U28>::type x28(args[28]);
2390         typename traits::input_parameter<U29>::type x29(args[29]);
2391         typename traits::input_parameter<U30>::type x30(args[30]);
2392         typename traits::input_parameter<U31>::type x31(args[31]);
2393         typename traits::input_parameter<U32>::type x32(args[32]);
2394         typename traits::input_parameter<U33>::type x33(args[33]);
2395         typename traits::input_parameter<U34>::type x34(args[34]);
2396         typename traits::input_parameter<U35>::type x35(args[35]);
2397         typename traits::input_parameter<U36>::type x36(args[36]);
2398         typename traits::input_parameter<U37>::type x37(args[37]);
2399         typename traits::input_parameter<U38>::type x38(args[38]);
2400         typename traits::input_parameter<U39>::type x39(args[39]);
2401         typename traits::input_parameter<U40>::type x40(args[40]);
2402         typename traits::input_parameter<U41>::type x41(args[41]);
2403         typename traits::input_parameter<U42>::type x42(args[42]);
2404         typename traits::input_parameter<U43>::type x43(args[43]);
2405         typename traits::input_parameter<U44>::type x44(args[44]);
2406         typename traits::input_parameter<U45>::type x45(args[45]);
2407         typename traits::input_parameter<U46>::type x46(args[46]);
2408         typename traits::input_parameter<U47>::type x47(args[47]);
2409         typename traits::input_parameter<U48>::type x48(args[48]);
2410         typename traits::input_parameter<U49>::type x49(args[49]);
2411         typename traits::input_parameter<U50>::type x50(args[50]);
2412         typename traits::input_parameter<U51>::type x51(args[51]);
2413         typename traits::input_parameter<U52>::type x52(args[52]);
2414         typename traits::input_parameter<U53>::type x53(args[53]);
2415         typename traits::input_parameter<U54>::type x54(args[54]);
2416         typename traits::input_parameter<U55>::type x55(args[55]);
2417         typename traits::input_parameter<U56>::type x56(args[56]);
2418         typename traits::input_parameter<U57>::type x57(args[57]);
2419         typename traits::input_parameter<U58>::type x58(args[58]);
2420         typename traits::input_parameter<U59>::type x59(args[59]);
2421         typename traits::input_parameter<U60>::type x60(args[60]);
2422         typename traits::input_parameter<U61>::type x61(args[61]);
2423         typename traits::input_parameter<U62>::type x62(args[62]);
2424         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59,x60,x61,x62);
2425     }
2426 
2427 
2428     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56, typename U57, typename U58, typename U59, typename U60, typename U61, typename U62, typename U63>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61,U62,U63)> & fun,SEXP * args)2429     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61,U62,U63)> &fun, SEXP* args) {
2430         typename traits::input_parameter<U0>::type x0(args[0]);
2431         typename traits::input_parameter<U1>::type x1(args[1]);
2432         typename traits::input_parameter<U2>::type x2(args[2]);
2433         typename traits::input_parameter<U3>::type x3(args[3]);
2434         typename traits::input_parameter<U4>::type x4(args[4]);
2435         typename traits::input_parameter<U5>::type x5(args[5]);
2436         typename traits::input_parameter<U6>::type x6(args[6]);
2437         typename traits::input_parameter<U7>::type x7(args[7]);
2438         typename traits::input_parameter<U8>::type x8(args[8]);
2439         typename traits::input_parameter<U9>::type x9(args[9]);
2440         typename traits::input_parameter<U10>::type x10(args[10]);
2441         typename traits::input_parameter<U11>::type x11(args[11]);
2442         typename traits::input_parameter<U12>::type x12(args[12]);
2443         typename traits::input_parameter<U13>::type x13(args[13]);
2444         typename traits::input_parameter<U14>::type x14(args[14]);
2445         typename traits::input_parameter<U15>::type x15(args[15]);
2446         typename traits::input_parameter<U16>::type x16(args[16]);
2447         typename traits::input_parameter<U17>::type x17(args[17]);
2448         typename traits::input_parameter<U18>::type x18(args[18]);
2449         typename traits::input_parameter<U19>::type x19(args[19]);
2450         typename traits::input_parameter<U20>::type x20(args[20]);
2451         typename traits::input_parameter<U21>::type x21(args[21]);
2452         typename traits::input_parameter<U22>::type x22(args[22]);
2453         typename traits::input_parameter<U23>::type x23(args[23]);
2454         typename traits::input_parameter<U24>::type x24(args[24]);
2455         typename traits::input_parameter<U25>::type x25(args[25]);
2456         typename traits::input_parameter<U26>::type x26(args[26]);
2457         typename traits::input_parameter<U27>::type x27(args[27]);
2458         typename traits::input_parameter<U28>::type x28(args[28]);
2459         typename traits::input_parameter<U29>::type x29(args[29]);
2460         typename traits::input_parameter<U30>::type x30(args[30]);
2461         typename traits::input_parameter<U31>::type x31(args[31]);
2462         typename traits::input_parameter<U32>::type x32(args[32]);
2463         typename traits::input_parameter<U33>::type x33(args[33]);
2464         typename traits::input_parameter<U34>::type x34(args[34]);
2465         typename traits::input_parameter<U35>::type x35(args[35]);
2466         typename traits::input_parameter<U36>::type x36(args[36]);
2467         typename traits::input_parameter<U37>::type x37(args[37]);
2468         typename traits::input_parameter<U38>::type x38(args[38]);
2469         typename traits::input_parameter<U39>::type x39(args[39]);
2470         typename traits::input_parameter<U40>::type x40(args[40]);
2471         typename traits::input_parameter<U41>::type x41(args[41]);
2472         typename traits::input_parameter<U42>::type x42(args[42]);
2473         typename traits::input_parameter<U43>::type x43(args[43]);
2474         typename traits::input_parameter<U44>::type x44(args[44]);
2475         typename traits::input_parameter<U45>::type x45(args[45]);
2476         typename traits::input_parameter<U46>::type x46(args[46]);
2477         typename traits::input_parameter<U47>::type x47(args[47]);
2478         typename traits::input_parameter<U48>::type x48(args[48]);
2479         typename traits::input_parameter<U49>::type x49(args[49]);
2480         typename traits::input_parameter<U50>::type x50(args[50]);
2481         typename traits::input_parameter<U51>::type x51(args[51]);
2482         typename traits::input_parameter<U52>::type x52(args[52]);
2483         typename traits::input_parameter<U53>::type x53(args[53]);
2484         typename traits::input_parameter<U54>::type x54(args[54]);
2485         typename traits::input_parameter<U55>::type x55(args[55]);
2486         typename traits::input_parameter<U56>::type x56(args[56]);
2487         typename traits::input_parameter<U57>::type x57(args[57]);
2488         typename traits::input_parameter<U58>::type x58(args[58]);
2489         typename traits::input_parameter<U59>::type x59(args[59]);
2490         typename traits::input_parameter<U60>::type x60(args[60]);
2491         typename traits::input_parameter<U61>::type x61(args[61]);
2492         typename traits::input_parameter<U62>::type x62(args[62]);
2493         typename traits::input_parameter<U63>::type x63(args[63]);
2494         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59,x60,x61,x62,x63);
2495     }
2496 
2497 
2498     template <typename RESULT_TYPE,typename U0, typename U1, typename U2, typename U3, typename U4, typename U5, typename U6, typename U7, typename U8, typename U9, typename U10, typename U11, typename U12, typename U13, typename U14, typename U15, typename U16, typename U17, typename U18, typename U19, typename U20, typename U21, typename U22, typename U23, typename U24, typename U25, typename U26, typename U27, typename U28, typename U29, typename U30, typename U31, typename U32, typename U33, typename U34, typename U35, typename U36, typename U37, typename U38, typename U39, typename U40, typename U41, typename U42, typename U43, typename U44, typename U45, typename U46, typename U47, typename U48, typename U49, typename U50, typename U51, typename U52, typename U53, typename U54, typename U55, typename U56, typename U57, typename U58, typename U59, typename U60, typename U61, typename U62, typename U63, typename U64>
call(const std::function<RESULT_TYPE (U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61,U62,U63,U64)> & fun,SEXP * args)2499     RESULT_TYPE call(const std::function<RESULT_TYPE(U0,U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61,U62,U63,U64)> &fun, SEXP* args) {
2500         typename traits::input_parameter<U0>::type x0(args[0]);
2501         typename traits::input_parameter<U1>::type x1(args[1]);
2502         typename traits::input_parameter<U2>::type x2(args[2]);
2503         typename traits::input_parameter<U3>::type x3(args[3]);
2504         typename traits::input_parameter<U4>::type x4(args[4]);
2505         typename traits::input_parameter<U5>::type x5(args[5]);
2506         typename traits::input_parameter<U6>::type x6(args[6]);
2507         typename traits::input_parameter<U7>::type x7(args[7]);
2508         typename traits::input_parameter<U8>::type x8(args[8]);
2509         typename traits::input_parameter<U9>::type x9(args[9]);
2510         typename traits::input_parameter<U10>::type x10(args[10]);
2511         typename traits::input_parameter<U11>::type x11(args[11]);
2512         typename traits::input_parameter<U12>::type x12(args[12]);
2513         typename traits::input_parameter<U13>::type x13(args[13]);
2514         typename traits::input_parameter<U14>::type x14(args[14]);
2515         typename traits::input_parameter<U15>::type x15(args[15]);
2516         typename traits::input_parameter<U16>::type x16(args[16]);
2517         typename traits::input_parameter<U17>::type x17(args[17]);
2518         typename traits::input_parameter<U18>::type x18(args[18]);
2519         typename traits::input_parameter<U19>::type x19(args[19]);
2520         typename traits::input_parameter<U20>::type x20(args[20]);
2521         typename traits::input_parameter<U21>::type x21(args[21]);
2522         typename traits::input_parameter<U22>::type x22(args[22]);
2523         typename traits::input_parameter<U23>::type x23(args[23]);
2524         typename traits::input_parameter<U24>::type x24(args[24]);
2525         typename traits::input_parameter<U25>::type x25(args[25]);
2526         typename traits::input_parameter<U26>::type x26(args[26]);
2527         typename traits::input_parameter<U27>::type x27(args[27]);
2528         typename traits::input_parameter<U28>::type x28(args[28]);
2529         typename traits::input_parameter<U29>::type x29(args[29]);
2530         typename traits::input_parameter<U30>::type x30(args[30]);
2531         typename traits::input_parameter<U31>::type x31(args[31]);
2532         typename traits::input_parameter<U32>::type x32(args[32]);
2533         typename traits::input_parameter<U33>::type x33(args[33]);
2534         typename traits::input_parameter<U34>::type x34(args[34]);
2535         typename traits::input_parameter<U35>::type x35(args[35]);
2536         typename traits::input_parameter<U36>::type x36(args[36]);
2537         typename traits::input_parameter<U37>::type x37(args[37]);
2538         typename traits::input_parameter<U38>::type x38(args[38]);
2539         typename traits::input_parameter<U39>::type x39(args[39]);
2540         typename traits::input_parameter<U40>::type x40(args[40]);
2541         typename traits::input_parameter<U41>::type x41(args[41]);
2542         typename traits::input_parameter<U42>::type x42(args[42]);
2543         typename traits::input_parameter<U43>::type x43(args[43]);
2544         typename traits::input_parameter<U44>::type x44(args[44]);
2545         typename traits::input_parameter<U45>::type x45(args[45]);
2546         typename traits::input_parameter<U46>::type x46(args[46]);
2547         typename traits::input_parameter<U47>::type x47(args[47]);
2548         typename traits::input_parameter<U48>::type x48(args[48]);
2549         typename traits::input_parameter<U49>::type x49(args[49]);
2550         typename traits::input_parameter<U50>::type x50(args[50]);
2551         typename traits::input_parameter<U51>::type x51(args[51]);
2552         typename traits::input_parameter<U52>::type x52(args[52]);
2553         typename traits::input_parameter<U53>::type x53(args[53]);
2554         typename traits::input_parameter<U54>::type x54(args[54]);
2555         typename traits::input_parameter<U55>::type x55(args[55]);
2556         typename traits::input_parameter<U56>::type x56(args[56]);
2557         typename traits::input_parameter<U57>::type x57(args[57]);
2558         typename traits::input_parameter<U58>::type x58(args[58]);
2559         typename traits::input_parameter<U59>::type x59(args[59]);
2560         typename traits::input_parameter<U60>::type x60(args[60]);
2561         typename traits::input_parameter<U61>::type x61(args[61]);
2562         typename traits::input_parameter<U62>::type x62(args[62]);
2563         typename traits::input_parameter<U63>::type x63(args[63]);
2564         typename traits::input_parameter<U64>::type x64(args[64]);
2565         return fun(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36,x37,x38,x39,x40,x41,x42,x43,x44,x45,x46,x47,x48,x49,x50,x51,x52,x53,x54,x55,x56,x57,x58,x59,x60,x61,x62,x63,x64);
2566     }
2567 
2568 
2569 #endif
2570 
2571