rice 2.1.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +5 -5
  2. data/COPYING +2 -2
  3. data/Doxyfile +4 -16
  4. data/Makefile.am +2 -2
  5. data/Makefile.in +28 -17
  6. data/{README → README.md} +323 -328
  7. data/aclocal.m4 +104 -107
  8. data/ax_cxx_compile_stdcxx.m4 +951 -0
  9. data/configure +549 -238
  10. data/configure.ac +3 -3
  11. data/extconf.rb +11 -10
  12. data/rice/Array.hpp +16 -16
  13. data/rice/Array.ipp +11 -11
  14. data/rice/Class_defn.hpp +1 -0
  15. data/rice/Constructor.hpp +27 -371
  16. data/rice/Data_Object_defn.hpp +3 -3
  17. data/rice/Director.hpp +3 -3
  18. data/rice/Enum.ipp +1 -1
  19. data/rice/Exception.cpp +2 -7
  20. data/rice/Hash.hpp +8 -5
  21. data/rice/Hash.ipp +2 -2
  22. data/rice/Makefile.am +1 -4
  23. data/rice/Makefile.in +80 -35
  24. data/rice/Module_impl.ipp +1 -1
  25. data/rice/Object.cpp +1 -1
  26. data/rice/Object.ipp +15 -1
  27. data/rice/Object_defn.hpp +24 -1
  28. data/rice/String.cpp +2 -7
  29. data/rice/Struct.cpp +2 -2
  30. data/rice/Struct.hpp +1 -1
  31. data/rice/Struct.ipp +1 -1
  32. data/rice/config.hpp +2 -2
  33. data/rice/config.hpp.in +2 -2
  34. data/rice/detail/Arguments.hpp +1 -1
  35. data/rice/detail/Auto_Function_Wrapper.ipp +512 -1025
  36. data/rice/detail/Auto_Member_Function_Wrapper.ipp +272 -545
  37. data/rice/detail/Iterator.hpp +2 -2
  38. data/rice/detail/method_data.cpp +8 -2
  39. data/rice/detail/ruby.hpp +1 -4
  40. data/rice/detail/ruby_version_code.hpp +1 -1
  41. data/rice/detail/wrap_function.hpp +32 -307
  42. data/rice/protect.hpp +3 -57
  43. data/rice/to_from_ruby.ipp +128 -4
  44. data/ruby/Makefile.in +11 -8
  45. data/ruby/lib/Makefile.in +10 -7
  46. data/ruby/lib/version.rb +1 -1
  47. data/sample/Makefile.am +10 -4
  48. data/sample/Makefile.in +20 -11
  49. data/sample/callbacks/extconf.rb +3 -0
  50. data/sample/callbacks/sample_callbacks.cpp +38 -0
  51. data/sample/callbacks/test.rb +28 -0
  52. data/test/Makefile.am +1 -0
  53. data/test/Makefile.in +118 -49
  54. data/test/embed_ruby.cpp +21 -0
  55. data/test/embed_ruby.hpp +4 -0
  56. data/test/ext/Makefile.in +10 -7
  57. data/test/test_Address_Registration_Guard.cpp +2 -1
  58. data/test/test_Array.cpp +2 -1
  59. data/test/test_Builtin_Object.cpp +2 -1
  60. data/test/test_Class.cpp +7 -4
  61. data/test/test_Data_Object.cpp +2 -1
  62. data/test/test_Data_Type.cpp +2 -1
  63. data/test/test_Director.cpp +2 -1
  64. data/test/test_Enum.cpp +24 -3
  65. data/test/test_Exception.cpp +2 -1
  66. data/test/test_Hash.cpp +2 -1
  67. data/test/test_Identifier.cpp +2 -1
  68. data/test/test_Memory_Management.cpp +2 -1
  69. data/test/test_Module.cpp +2 -1
  70. data/test/test_Object.cpp +13 -1
  71. data/test/test_String.cpp +2 -1
  72. data/test/test_Struct.cpp +2 -1
  73. data/test/test_Symbol.cpp +2 -1
  74. data/test/test_To_From_Ruby.cpp +102 -1
  75. data/test/test_global_functions.cpp +2 -1
  76. data/test/test_rice.rb +4 -0
  77. data/test/unittest.cpp +35 -9
  78. metadata +72 -16
  79. data/check_stdcxx_11.ac +0 -142
  80. data/rice/detail/object_call.hpp +0 -69
  81. data/rice/detail/object_call.ipp +0 -131
  82. data/rice/detail/traits.hpp +0 -43
  83. data/rice/detail/wrap_function.ipp +0 -514
@@ -10,7 +10,6 @@
10
10
  #include "method_data.hpp"
11
11
  #include "../ruby_try_catch.hpp"
12
12
  #include "../to_from_ruby.hpp"
13
- #include "traits.hpp"
14
13
  #include <typeinfo>
15
14
  namespace Rice
16
15
  {
@@ -61,38 +60,22 @@ call(int argc, VALUE* argv, VALUE self)
61
60
 
62
61
  Self_T * obj = from_ruby<Self_T *>(self);
63
62
 
64
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
65
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
66
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
67
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
68
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
69
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
70
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
71
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
72
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
73
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
74
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
75
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
76
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
77
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
78
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
79
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
80
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
81
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
82
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
83
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
84
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
85
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
86
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
87
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
88
- typedef typename sanitize< Arg12_T >::Type Arg12_Type;
89
- Arg12_Type arg12 = args->getArgumentOrDefault<Arg12_Type>(12, varg12);
90
- typedef typename sanitize< Arg13_T >::Type Arg13_Type;
91
- Arg13_Type arg13 = args->getArgumentOrDefault<Arg13_Type>(13, varg13);
92
- typedef typename sanitize< Arg14_T >::Type Arg14_Type;
93
- Arg14_Type arg14 = args->getArgumentOrDefault<Arg14_Type>(14, varg14);
94
- typedef typename sanitize< Arg15_T >::Type Arg15_Type;
95
- Arg15_Type arg15 = args->getArgumentOrDefault<Arg15_Type>(15, varg15);
63
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
64
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
65
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
66
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
67
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
68
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
69
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
70
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
71
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
72
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
73
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
74
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
75
+ Arg12_T arg12 = args->getArgumentOrDefault<Arg12_T>(12, varg12);
76
+ Arg13_T arg13 = args->getArgumentOrDefault<Arg13_T>(13, varg13);
77
+ Arg14_T arg14 = args->getArgumentOrDefault<Arg14_T>(14, varg14);
78
+ Arg15_T arg15 = args->getArgumentOrDefault<Arg15_T>(15, varg15);
96
79
 
97
80
  Func func = wrapper->func_;
98
81
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15));
@@ -157,38 +140,22 @@ call(int argc, VALUE* argv, VALUE self)
157
140
 
158
141
  Self_T * obj = from_ruby<Self_T *>(self);
159
142
 
160
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
161
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
162
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
163
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
164
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
165
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
166
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
167
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
168
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
169
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
170
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
171
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
172
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
173
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
174
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
175
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
176
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
177
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
178
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
179
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
180
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
181
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
182
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
183
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
184
- typedef typename sanitize< Arg12_T >::Type Arg12_Type;
185
- Arg12_Type arg12 = args->getArgumentOrDefault<Arg12_Type>(12, varg12);
186
- typedef typename sanitize< Arg13_T >::Type Arg13_Type;
187
- Arg13_Type arg13 = args->getArgumentOrDefault<Arg13_Type>(13, varg13);
188
- typedef typename sanitize< Arg14_T >::Type Arg14_Type;
189
- Arg14_Type arg14 = args->getArgumentOrDefault<Arg14_Type>(14, varg14);
190
- typedef typename sanitize< Arg15_T >::Type Arg15_Type;
191
- Arg15_Type arg15 = args->getArgumentOrDefault<Arg15_Type>(15, varg15);
143
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
144
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
145
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
146
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
147
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
148
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
149
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
150
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
151
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
152
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
153
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
154
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
155
+ Arg12_T arg12 = args->getArgumentOrDefault<Arg12_T>(12, varg12);
156
+ Arg13_T arg13 = args->getArgumentOrDefault<Arg13_T>(13, varg13);
157
+ Arg14_T arg14 = args->getArgumentOrDefault<Arg14_T>(14, varg14);
158
+ Arg15_T arg15 = args->getArgumentOrDefault<Arg15_T>(15, varg15);
192
159
 
193
160
  Func func = wrapper->func_;
194
161
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15);
@@ -255,36 +222,21 @@ call(int argc, VALUE* argv, VALUE self)
255
222
 
256
223
  Self_T * obj = from_ruby<Self_T *>(self);
257
224
 
258
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
259
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
260
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
261
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
262
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
263
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
264
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
265
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
266
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
267
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
268
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
269
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
270
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
271
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
272
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
273
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
274
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
275
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
276
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
277
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
278
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
279
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
280
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
281
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
282
- typedef typename sanitize< Arg12_T >::Type Arg12_Type;
283
- Arg12_Type arg12 = args->getArgumentOrDefault<Arg12_Type>(12, varg12);
284
- typedef typename sanitize< Arg13_T >::Type Arg13_Type;
285
- Arg13_Type arg13 = args->getArgumentOrDefault<Arg13_Type>(13, varg13);
286
- typedef typename sanitize< Arg14_T >::Type Arg14_Type;
287
- Arg14_Type arg14 = args->getArgumentOrDefault<Arg14_Type>(14, varg14);
225
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
226
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
227
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
228
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
229
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
230
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
231
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
232
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
233
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
234
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
235
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
236
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
237
+ Arg12_T arg12 = args->getArgumentOrDefault<Arg12_T>(12, varg12);
238
+ Arg13_T arg13 = args->getArgumentOrDefault<Arg13_T>(13, varg13);
239
+ Arg14_T arg14 = args->getArgumentOrDefault<Arg14_T>(14, varg14);
288
240
 
289
241
  Func func = wrapper->func_;
290
242
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14));
@@ -349,36 +301,21 @@ call(int argc, VALUE* argv, VALUE self)
349
301
 
350
302
  Self_T * obj = from_ruby<Self_T *>(self);
351
303
 
352
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
353
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
354
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
355
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
356
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
357
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
358
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
359
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
360
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
361
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
362
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
363
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
364
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
365
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
366
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
367
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
368
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
369
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
370
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
371
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
372
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
373
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
374
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
375
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
376
- typedef typename sanitize< Arg12_T >::Type Arg12_Type;
377
- Arg12_Type arg12 = args->getArgumentOrDefault<Arg12_Type>(12, varg12);
378
- typedef typename sanitize< Arg13_T >::Type Arg13_Type;
379
- Arg13_Type arg13 = args->getArgumentOrDefault<Arg13_Type>(13, varg13);
380
- typedef typename sanitize< Arg14_T >::Type Arg14_Type;
381
- Arg14_Type arg14 = args->getArgumentOrDefault<Arg14_Type>(14, varg14);
304
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
305
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
306
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
307
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
308
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
309
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
310
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
311
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
312
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
313
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
314
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
315
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
316
+ Arg12_T arg12 = args->getArgumentOrDefault<Arg12_T>(12, varg12);
317
+ Arg13_T arg13 = args->getArgumentOrDefault<Arg13_T>(13, varg13);
318
+ Arg14_T arg14 = args->getArgumentOrDefault<Arg14_T>(14, varg14);
382
319
 
383
320
  Func func = wrapper->func_;
384
321
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
@@ -445,34 +382,20 @@ call(int argc, VALUE* argv, VALUE self)
445
382
 
446
383
  Self_T * obj = from_ruby<Self_T *>(self);
447
384
 
448
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
449
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
450
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
451
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
452
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
453
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
454
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
455
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
456
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
457
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
458
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
459
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
460
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
461
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
462
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
463
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
464
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
465
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
466
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
467
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
468
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
469
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
470
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
471
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
472
- typedef typename sanitize< Arg12_T >::Type Arg12_Type;
473
- Arg12_Type arg12 = args->getArgumentOrDefault<Arg12_Type>(12, varg12);
474
- typedef typename sanitize< Arg13_T >::Type Arg13_Type;
475
- Arg13_Type arg13 = args->getArgumentOrDefault<Arg13_Type>(13, varg13);
385
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
386
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
387
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
388
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
389
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
390
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
391
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
392
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
393
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
394
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
395
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
396
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
397
+ Arg12_T arg12 = args->getArgumentOrDefault<Arg12_T>(12, varg12);
398
+ Arg13_T arg13 = args->getArgumentOrDefault<Arg13_T>(13, varg13);
476
399
 
477
400
  Func func = wrapper->func_;
478
401
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13));
@@ -537,34 +460,20 @@ call(int argc, VALUE* argv, VALUE self)
537
460
 
538
461
  Self_T * obj = from_ruby<Self_T *>(self);
539
462
 
540
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
541
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
542
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
543
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
544
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
545
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
546
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
547
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
548
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
549
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
550
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
551
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
552
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
553
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
554
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
555
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
556
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
557
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
558
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
559
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
560
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
561
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
562
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
563
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
564
- typedef typename sanitize< Arg12_T >::Type Arg12_Type;
565
- Arg12_Type arg12 = args->getArgumentOrDefault<Arg12_Type>(12, varg12);
566
- typedef typename sanitize< Arg13_T >::Type Arg13_Type;
567
- Arg13_Type arg13 = args->getArgumentOrDefault<Arg13_Type>(13, varg13);
463
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
464
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
465
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
466
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
467
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
468
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
469
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
470
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
471
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
472
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
473
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
474
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
475
+ Arg12_T arg12 = args->getArgumentOrDefault<Arg12_T>(12, varg12);
476
+ Arg13_T arg13 = args->getArgumentOrDefault<Arg13_T>(13, varg13);
568
477
 
569
478
  Func func = wrapper->func_;
570
479
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13);
@@ -631,32 +540,19 @@ call(int argc, VALUE* argv, VALUE self)
631
540
 
632
541
  Self_T * obj = from_ruby<Self_T *>(self);
633
542
 
634
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
635
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
636
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
637
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
638
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
639
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
640
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
641
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
642
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
643
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
644
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
645
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
646
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
647
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
648
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
649
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
650
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
651
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
652
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
653
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
654
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
655
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
656
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
657
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
658
- typedef typename sanitize< Arg12_T >::Type Arg12_Type;
659
- Arg12_Type arg12 = args->getArgumentOrDefault<Arg12_Type>(12, varg12);
543
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
544
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
545
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
546
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
547
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
548
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
549
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
550
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
551
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
552
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
553
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
554
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
555
+ Arg12_T arg12 = args->getArgumentOrDefault<Arg12_T>(12, varg12);
660
556
 
661
557
  Func func = wrapper->func_;
662
558
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12));
@@ -721,32 +617,19 @@ call(int argc, VALUE* argv, VALUE self)
721
617
 
722
618
  Self_T * obj = from_ruby<Self_T *>(self);
723
619
 
724
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
725
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
726
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
727
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
728
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
729
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
730
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
731
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
732
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
733
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
734
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
735
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
736
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
737
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
738
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
739
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
740
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
741
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
742
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
743
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
744
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
745
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
746
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
747
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
748
- typedef typename sanitize< Arg12_T >::Type Arg12_Type;
749
- Arg12_Type arg12 = args->getArgumentOrDefault<Arg12_Type>(12, varg12);
620
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
621
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
622
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
623
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
624
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
625
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
626
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
627
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
628
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
629
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
630
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
631
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
632
+ Arg12_T arg12 = args->getArgumentOrDefault<Arg12_T>(12, varg12);
750
633
 
751
634
  Func func = wrapper->func_;
752
635
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
@@ -813,30 +696,18 @@ call(int argc, VALUE* argv, VALUE self)
813
696
 
814
697
  Self_T * obj = from_ruby<Self_T *>(self);
815
698
 
816
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
817
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
818
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
819
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
820
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
821
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
822
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
823
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
824
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
825
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
826
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
827
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
828
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
829
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
830
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
831
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
832
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
833
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
834
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
835
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
836
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
837
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
838
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
839
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
699
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
700
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
701
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
702
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
703
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
704
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
705
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
706
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
707
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
708
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
709
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
710
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
840
711
 
841
712
  Func func = wrapper->func_;
842
713
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11));
@@ -901,30 +772,18 @@ call(int argc, VALUE* argv, VALUE self)
901
772
 
902
773
  Self_T * obj = from_ruby<Self_T *>(self);
903
774
 
904
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
905
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
906
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
907
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
908
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
909
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
910
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
911
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
912
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
913
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
914
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
915
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
916
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
917
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
918
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
919
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
920
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
921
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
922
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
923
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
924
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
925
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
926
- typedef typename sanitize< Arg11_T >::Type Arg11_Type;
927
- Arg11_Type arg11 = args->getArgumentOrDefault<Arg11_Type>(11, varg11);
775
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
776
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
777
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
778
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
779
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
780
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
781
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
782
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
783
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
784
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
785
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
786
+ Arg11_T arg11 = args->getArgumentOrDefault<Arg11_T>(11, varg11);
928
787
 
929
788
  Func func = wrapper->func_;
930
789
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
@@ -991,28 +850,17 @@ call(int argc, VALUE* argv, VALUE self)
991
850
 
992
851
  Self_T * obj = from_ruby<Self_T *>(self);
993
852
 
994
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
995
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
996
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
997
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
998
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
999
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1000
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1001
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1002
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1003
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1004
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1005
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1006
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1007
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1008
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
1009
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
1010
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
1011
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
1012
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
1013
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
1014
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
1015
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
853
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
854
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
855
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
856
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
857
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
858
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
859
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
860
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
861
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
862
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
863
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
1016
864
 
1017
865
  Func func = wrapper->func_;
1018
866
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10));
@@ -1077,28 +925,17 @@ call(int argc, VALUE* argv, VALUE self)
1077
925
 
1078
926
  Self_T * obj = from_ruby<Self_T *>(self);
1079
927
 
1080
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1081
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1082
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1083
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1084
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1085
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1086
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1087
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1088
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1089
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1090
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1091
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1092
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1093
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1094
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
1095
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
1096
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
1097
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
1098
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
1099
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
1100
- typedef typename sanitize< Arg10_T >::Type Arg10_Type;
1101
- Arg10_Type arg10 = args->getArgumentOrDefault<Arg10_Type>(10, varg10);
928
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
929
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
930
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
931
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
932
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
933
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
934
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
935
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
936
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
937
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
938
+ Arg10_T arg10 = args->getArgumentOrDefault<Arg10_T>(10, varg10);
1102
939
 
1103
940
  Func func = wrapper->func_;
1104
941
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
@@ -1165,26 +1002,16 @@ call(int argc, VALUE* argv, VALUE self)
1165
1002
 
1166
1003
  Self_T * obj = from_ruby<Self_T *>(self);
1167
1004
 
1168
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1169
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1170
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1171
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1172
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1173
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1174
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1175
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1176
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1177
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1178
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1179
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1180
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1181
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1182
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
1183
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
1184
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
1185
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
1186
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
1187
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
1005
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1006
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1007
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1008
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1009
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1010
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1011
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
1012
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
1013
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
1014
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
1188
1015
 
1189
1016
  Func func = wrapper->func_;
1190
1017
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9));
@@ -1249,26 +1076,16 @@ call(int argc, VALUE* argv, VALUE self)
1249
1076
 
1250
1077
  Self_T * obj = from_ruby<Self_T *>(self);
1251
1078
 
1252
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1253
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1254
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1255
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1256
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1257
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1258
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1259
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1260
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1261
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1262
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1263
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1264
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1265
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1266
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
1267
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
1268
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
1269
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
1270
- typedef typename sanitize< Arg9_T >::Type Arg9_Type;
1271
- Arg9_Type arg9 = args->getArgumentOrDefault<Arg9_Type>(9, varg9);
1079
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1080
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1081
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1082
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1083
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1084
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1085
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
1086
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
1087
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
1088
+ Arg9_T arg9 = args->getArgumentOrDefault<Arg9_T>(9, varg9);
1272
1089
 
1273
1090
  Func func = wrapper->func_;
1274
1091
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
@@ -1335,24 +1152,15 @@ call(int argc, VALUE* argv, VALUE self)
1335
1152
 
1336
1153
  Self_T * obj = from_ruby<Self_T *>(self);
1337
1154
 
1338
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1339
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1340
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1341
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1342
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1343
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1344
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1345
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1346
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1347
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1348
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1349
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1350
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1351
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1352
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
1353
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
1354
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
1355
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
1155
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1156
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1157
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1158
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1159
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1160
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1161
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
1162
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
1163
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
1356
1164
 
1357
1165
  Func func = wrapper->func_;
1358
1166
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8));
@@ -1417,24 +1225,15 @@ call(int argc, VALUE* argv, VALUE self)
1417
1225
 
1418
1226
  Self_T * obj = from_ruby<Self_T *>(self);
1419
1227
 
1420
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1421
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1422
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1423
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1424
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1425
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1426
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1427
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1428
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1429
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1430
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1431
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1432
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1433
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1434
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
1435
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
1436
- typedef typename sanitize< Arg8_T >::Type Arg8_Type;
1437
- Arg8_Type arg8 = args->getArgumentOrDefault<Arg8_Type>(8, varg8);
1228
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1229
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1230
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1231
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1232
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1233
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1234
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
1235
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
1236
+ Arg8_T arg8 = args->getArgumentOrDefault<Arg8_T>(8, varg8);
1438
1237
 
1439
1238
  Func func = wrapper->func_;
1440
1239
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
@@ -1501,22 +1300,14 @@ call(int argc, VALUE* argv, VALUE self)
1501
1300
 
1502
1301
  Self_T * obj = from_ruby<Self_T *>(self);
1503
1302
 
1504
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1505
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1506
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1507
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1508
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1509
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1510
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1511
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1512
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1513
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1514
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1515
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1516
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1517
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1518
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
1519
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
1303
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1304
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1305
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1306
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1307
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1308
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1309
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
1310
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
1520
1311
 
1521
1312
  Func func = wrapper->func_;
1522
1313
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7));
@@ -1581,22 +1372,14 @@ call(int argc, VALUE* argv, VALUE self)
1581
1372
 
1582
1373
  Self_T * obj = from_ruby<Self_T *>(self);
1583
1374
 
1584
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1585
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1586
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1587
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1588
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1589
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1590
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1591
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1592
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1593
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1594
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1595
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1596
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1597
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1598
- typedef typename sanitize< Arg7_T >::Type Arg7_Type;
1599
- Arg7_Type arg7 = args->getArgumentOrDefault<Arg7_Type>(7, varg7);
1375
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1376
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1377
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1378
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1379
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1380
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1381
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
1382
+ Arg7_T arg7 = args->getArgumentOrDefault<Arg7_T>(7, varg7);
1600
1383
 
1601
1384
  Func func = wrapper->func_;
1602
1385
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
@@ -1663,20 +1446,13 @@ call(int argc, VALUE* argv, VALUE self)
1663
1446
 
1664
1447
  Self_T * obj = from_ruby<Self_T *>(self);
1665
1448
 
1666
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1667
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1668
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1669
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1670
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1671
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1672
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1673
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1674
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1675
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1676
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1677
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1678
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1679
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1449
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1450
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1451
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1452
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1453
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1454
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1455
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
1680
1456
 
1681
1457
  Func func = wrapper->func_;
1682
1458
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6));
@@ -1741,20 +1517,13 @@ call(int argc, VALUE* argv, VALUE self)
1741
1517
 
1742
1518
  Self_T * obj = from_ruby<Self_T *>(self);
1743
1519
 
1744
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1745
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1746
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1747
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1748
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1749
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1750
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1751
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1752
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1753
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1754
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1755
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1756
- typedef typename sanitize< Arg6_T >::Type Arg6_Type;
1757
- Arg6_Type arg6 = args->getArgumentOrDefault<Arg6_Type>(6, varg6);
1520
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1521
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1522
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1523
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1524
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1525
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1526
+ Arg6_T arg6 = args->getArgumentOrDefault<Arg6_T>(6, varg6);
1758
1527
 
1759
1528
  Func func = wrapper->func_;
1760
1529
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
@@ -1821,18 +1590,12 @@ call(int argc, VALUE* argv, VALUE self)
1821
1590
 
1822
1591
  Self_T * obj = from_ruby<Self_T *>(self);
1823
1592
 
1824
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1825
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1826
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1827
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1828
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1829
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1830
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1831
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1832
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1833
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1834
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1835
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1593
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1594
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1595
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1596
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1597
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1598
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1836
1599
 
1837
1600
  Func func = wrapper->func_;
1838
1601
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5));
@@ -1897,18 +1660,12 @@ call(int argc, VALUE* argv, VALUE self)
1897
1660
 
1898
1661
  Self_T * obj = from_ruby<Self_T *>(self);
1899
1662
 
1900
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1901
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1902
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1903
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1904
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1905
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1906
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1907
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1908
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1909
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1910
- typedef typename sanitize< Arg5_T >::Type Arg5_Type;
1911
- Arg5_Type arg5 = args->getArgumentOrDefault<Arg5_Type>(5, varg5);
1663
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1664
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1665
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1666
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1667
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1668
+ Arg5_T arg5 = args->getArgumentOrDefault<Arg5_T>(5, varg5);
1912
1669
 
1913
1670
  Func func = wrapper->func_;
1914
1671
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4, arg5);
@@ -1975,16 +1732,11 @@ call(int argc, VALUE* argv, VALUE self)
1975
1732
 
1976
1733
  Self_T * obj = from_ruby<Self_T *>(self);
1977
1734
 
1978
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
1979
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
1980
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
1981
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
1982
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
1983
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
1984
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
1985
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1986
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
1987
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1735
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1736
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1737
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1738
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1739
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
1988
1740
 
1989
1741
  Func func = wrapper->func_;
1990
1742
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3, arg4));
@@ -2049,16 +1801,11 @@ call(int argc, VALUE* argv, VALUE self)
2049
1801
 
2050
1802
  Self_T * obj = from_ruby<Self_T *>(self);
2051
1803
 
2052
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2053
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2054
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
2055
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
2056
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
2057
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
2058
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
2059
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
2060
- typedef typename sanitize< Arg4_T >::Type Arg4_Type;
2061
- Arg4_Type arg4 = args->getArgumentOrDefault<Arg4_Type>(4, varg4);
1804
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1805
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1806
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1807
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
1808
+ Arg4_T arg4 = args->getArgumentOrDefault<Arg4_T>(4, varg4);
2062
1809
 
2063
1810
  Func func = wrapper->func_;
2064
1811
  (*obj.*func)(arg0, arg1, arg2, arg3, arg4);
@@ -2125,14 +1872,10 @@ call(int argc, VALUE* argv, VALUE self)
2125
1872
 
2126
1873
  Self_T * obj = from_ruby<Self_T *>(self);
2127
1874
 
2128
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2129
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2130
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
2131
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
2132
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
2133
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
2134
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
2135
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1875
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1876
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1877
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1878
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
2136
1879
 
2137
1880
  Func func = wrapper->func_;
2138
1881
  return to_ruby((*obj.*func)(arg0, arg1, arg2, arg3));
@@ -2197,14 +1940,10 @@ call(int argc, VALUE* argv, VALUE self)
2197
1940
 
2198
1941
  Self_T * obj = from_ruby<Self_T *>(self);
2199
1942
 
2200
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2201
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2202
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
2203
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
2204
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
2205
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
2206
- typedef typename sanitize< Arg3_T >::Type Arg3_Type;
2207
- Arg3_Type arg3 = args->getArgumentOrDefault<Arg3_Type>(3, varg3);
1943
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
1944
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
1945
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
1946
+ Arg3_T arg3 = args->getArgumentOrDefault<Arg3_T>(3, varg3);
2208
1947
 
2209
1948
  Func func = wrapper->func_;
2210
1949
  (*obj.*func)(arg0, arg1, arg2, arg3);
@@ -2271,12 +2010,9 @@ call(int argc, VALUE* argv, VALUE self)
2271
2010
 
2272
2011
  Self_T * obj = from_ruby<Self_T *>(self);
2273
2012
 
2274
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2275
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2276
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
2277
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
2278
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
2279
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
2013
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
2014
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
2015
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
2280
2016
 
2281
2017
  Func func = wrapper->func_;
2282
2018
  return to_ruby((*obj.*func)(arg0, arg1, arg2));
@@ -2341,12 +2077,9 @@ call(int argc, VALUE* argv, VALUE self)
2341
2077
 
2342
2078
  Self_T * obj = from_ruby<Self_T *>(self);
2343
2079
 
2344
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2345
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2346
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
2347
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
2348
- typedef typename sanitize< Arg2_T >::Type Arg2_Type;
2349
- Arg2_Type arg2 = args->getArgumentOrDefault<Arg2_Type>(2, varg2);
2080
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
2081
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
2082
+ Arg2_T arg2 = args->getArgumentOrDefault<Arg2_T>(2, varg2);
2350
2083
 
2351
2084
  Func func = wrapper->func_;
2352
2085
  (*obj.*func)(arg0, arg1, arg2);
@@ -2413,10 +2146,8 @@ call(int argc, VALUE* argv, VALUE self)
2413
2146
 
2414
2147
  Self_T * obj = from_ruby<Self_T *>(self);
2415
2148
 
2416
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2417
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2418
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
2419
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
2149
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
2150
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
2420
2151
 
2421
2152
  Func func = wrapper->func_;
2422
2153
  return to_ruby((*obj.*func)(arg0, arg1));
@@ -2481,10 +2212,8 @@ call(int argc, VALUE* argv, VALUE self)
2481
2212
 
2482
2213
  Self_T * obj = from_ruby<Self_T *>(self);
2483
2214
 
2484
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2485
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2486
- typedef typename sanitize< Arg1_T >::Type Arg1_Type;
2487
- Arg1_Type arg1 = args->getArgumentOrDefault<Arg1_Type>(1, varg1);
2215
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
2216
+ Arg1_T arg1 = args->getArgumentOrDefault<Arg1_T>(1, varg1);
2488
2217
 
2489
2218
  Func func = wrapper->func_;
2490
2219
  (*obj.*func)(arg0, arg1);
@@ -2551,8 +2280,7 @@ call(int argc, VALUE* argv, VALUE self)
2551
2280
 
2552
2281
  Self_T * obj = from_ruby<Self_T *>(self);
2553
2282
 
2554
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2555
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2283
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
2556
2284
 
2557
2285
  Func func = wrapper->func_;
2558
2286
  return to_ruby((*obj.*func)(arg0));
@@ -2617,8 +2345,7 @@ call(int argc, VALUE* argv, VALUE self)
2617
2345
 
2618
2346
  Self_T * obj = from_ruby<Self_T *>(self);
2619
2347
 
2620
- typedef typename sanitize< Arg0_T >::Type Arg0_Type;
2621
- Arg0_Type arg0 = args->getArgumentOrDefault<Arg0_Type>(0, varg0);
2348
+ Arg0_T arg0 = args->getArgumentOrDefault<Arg0_T>(0, varg0);
2622
2349
 
2623
2350
  Func func = wrapper->func_;
2624
2351
  (*obj.*func)(arg0);