wurlinc-rice 1.4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/COPYING +23 -0
  2. data/Doxyfile +1253 -0
  3. data/Makefile.am +26 -0
  4. data/README +1119 -0
  5. data/README.mingw +8 -0
  6. data/Rakefile +33 -0
  7. data/bootstrap +9 -0
  8. data/configure.ac +52 -0
  9. data/doxygen.ac +314 -0
  10. data/doxygen.am +186 -0
  11. data/extconf.rb +41 -0
  12. data/post-autoconf.rb +22 -0
  13. data/post-automake.rb +28 -0
  14. data/rice/Address_Registration_Guard.hpp +7 -0
  15. data/rice/Address_Registration_Guard.ipp +34 -0
  16. data/rice/Address_Registration_Guard_defn.hpp +65 -0
  17. data/rice/Allocation_Strategies.hpp +37 -0
  18. data/rice/Arg.hpp +8 -0
  19. data/rice/Arg_impl.hpp +127 -0
  20. data/rice/Arg_operators.cpp +21 -0
  21. data/rice/Arg_operators.hpp +19 -0
  22. data/rice/Array.hpp +220 -0
  23. data/rice/Array.ipp +263 -0
  24. data/rice/Builtin_Object.hpp +8 -0
  25. data/rice/Builtin_Object.ipp +50 -0
  26. data/rice/Builtin_Object_defn.hpp +51 -0
  27. data/rice/Class.cpp +57 -0
  28. data/rice/Class.hpp +8 -0
  29. data/rice/Class.ipp +6 -0
  30. data/rice/Class_defn.hpp +83 -0
  31. data/rice/Constructor.hpp +367 -0
  32. data/rice/Critical_Guard.hpp +40 -0
  33. data/rice/Critical_Guard.ipp +26 -0
  34. data/rice/Data_Object.hpp +8 -0
  35. data/rice/Data_Object.ipp +133 -0
  36. data/rice/Data_Object_defn.hpp +132 -0
  37. data/rice/Data_Type.cpp +54 -0
  38. data/rice/Data_Type.hpp +8 -0
  39. data/rice/Data_Type.ipp +365 -0
  40. data/rice/Data_Type_defn.hpp +261 -0
  41. data/rice/Data_Type_fwd.hpp +12 -0
  42. data/rice/Director.cpp +13 -0
  43. data/rice/Director.hpp +39 -0
  44. data/rice/Enum.hpp +117 -0
  45. data/rice/Enum.ipp +246 -0
  46. data/rice/Exception.cpp +59 -0
  47. data/rice/Exception.hpp +9 -0
  48. data/rice/Exception_Base.hpp +8 -0
  49. data/rice/Exception_Base.ipp +13 -0
  50. data/rice/Exception_Base_defn.hpp +27 -0
  51. data/rice/Exception_defn.hpp +69 -0
  52. data/rice/Hash.hpp +210 -0
  53. data/rice/Hash.ipp +338 -0
  54. data/rice/Identifier.cpp +8 -0
  55. data/rice/Identifier.hpp +50 -0
  56. data/rice/Identifier.ipp +33 -0
  57. data/rice/Jump_Tag.hpp +24 -0
  58. data/rice/Makefile.am +129 -0
  59. data/rice/Module.cpp +84 -0
  60. data/rice/Module.hpp +8 -0
  61. data/rice/Module.ipp +6 -0
  62. data/rice/Module_defn.hpp +88 -0
  63. data/rice/Module_impl.hpp +281 -0
  64. data/rice/Module_impl.ipp +348 -0
  65. data/rice/Object.cpp +160 -0
  66. data/rice/Object.hpp +8 -0
  67. data/rice/Object.ipp +19 -0
  68. data/rice/Object_defn.hpp +191 -0
  69. data/rice/Require_Guard.hpp +21 -0
  70. data/rice/String.cpp +94 -0
  71. data/rice/String.hpp +89 -0
  72. data/rice/Struct.cpp +117 -0
  73. data/rice/Struct.hpp +162 -0
  74. data/rice/Struct.ipp +26 -0
  75. data/rice/Symbol.cpp +25 -0
  76. data/rice/Symbol.hpp +66 -0
  77. data/rice/Symbol.ipp +44 -0
  78. data/rice/VM.cpp +92 -0
  79. data/rice/VM.hpp +32 -0
  80. data/rice/config.hpp.in +40 -0
  81. data/rice/detail/Arguments.hpp +118 -0
  82. data/rice/detail/Auto_Function_Wrapper.hpp +829 -0
  83. data/rice/detail/Auto_Function_Wrapper.ipp +3391 -0
  84. data/rice/detail/Auto_Member_Function_Wrapper.hpp +828 -0
  85. data/rice/detail/Auto_Member_Function_Wrapper.ipp +2503 -0
  86. data/rice/detail/Caster.hpp +103 -0
  87. data/rice/detail/Exception_Handler.hpp +8 -0
  88. data/rice/detail/Exception_Handler.ipp +68 -0
  89. data/rice/detail/Exception_Handler_defn.hpp +96 -0
  90. data/rice/detail/Iterator.hpp +93 -0
  91. data/rice/detail/Not_Copyable.hpp +25 -0
  92. data/rice/detail/Wrapped_Function.hpp +33 -0
  93. data/rice/detail/cfp.hpp +24 -0
  94. data/rice/detail/cfp.ipp +51 -0
  95. data/rice/detail/check_ruby_type.cpp +27 -0
  96. data/rice/detail/check_ruby_type.hpp +23 -0
  97. data/rice/detail/creation_funcs.hpp +37 -0
  98. data/rice/detail/creation_funcs.ipp +36 -0
  99. data/rice/detail/default_allocation_func.hpp +23 -0
  100. data/rice/detail/default_allocation_func.ipp +11 -0
  101. data/rice/detail/define_method_and_auto_wrap.hpp +31 -0
  102. data/rice/detail/define_method_and_auto_wrap.ipp +30 -0
  103. data/rice/detail/demangle.cpp +56 -0
  104. data/rice/detail/demangle.hpp +19 -0
  105. data/rice/detail/env.hpp +19 -0
  106. data/rice/detail/from_ruby.hpp +43 -0
  107. data/rice/detail/from_ruby.ipp +60 -0
  108. data/rice/detail/method_data.cpp +159 -0
  109. data/rice/detail/method_data.hpp +21 -0
  110. data/rice/detail/mininode.cpp +1220 -0
  111. data/rice/detail/mininode.hpp +320 -0
  112. data/rice/detail/node.hpp +13 -0
  113. data/rice/detail/object_call.hpp +68 -0
  114. data/rice/detail/object_call.ipp +131 -0
  115. data/rice/detail/protect.cpp +29 -0
  116. data/rice/detail/protect.hpp +34 -0
  117. data/rice/detail/ruby.hpp +93 -0
  118. data/rice/detail/ruby_version_code.hpp.in +6 -0
  119. data/rice/detail/rubysig.hpp +19 -0
  120. data/rice/detail/st.hpp +60 -0
  121. data/rice/detail/to_ruby.hpp +22 -0
  122. data/rice/detail/to_ruby.ipp +36 -0
  123. data/rice/detail/traits.hpp +43 -0
  124. data/rice/detail/win32.hpp +16 -0
  125. data/rice/detail/wrap_function.hpp +341 -0
  126. data/rice/detail/wrap_function.ipp +514 -0
  127. data/rice/global_function.hpp +33 -0
  128. data/rice/global_function.ipp +22 -0
  129. data/rice/protect.hpp +91 -0
  130. data/rice/protect.ipp +1133 -0
  131. data/rice/ruby_mark.hpp +13 -0
  132. data/rice/ruby_try_catch.hpp +86 -0
  133. data/rice/rubypp.rb +97 -0
  134. data/rice/to_from_ruby.hpp +8 -0
  135. data/rice/to_from_ruby.ipp +297 -0
  136. data/rice/to_from_ruby_defn.hpp +71 -0
  137. data/ruby/Makefile.am +1 -0
  138. data/ruby/lib/Makefile.am +3 -0
  139. data/ruby/lib/mkmf-rice.rb.in +216 -0
  140. data/ruby/lib/version.rb +3 -0
  141. data/ruby.ac +136 -0
  142. data/sample/Makefile.am +47 -0
  143. data/sample/enum/extconf.rb +3 -0
  144. data/sample/enum/sample_enum.cpp +54 -0
  145. data/sample/enum/test.rb +8 -0
  146. data/sample/inheritance/animals.cpp +98 -0
  147. data/sample/inheritance/extconf.rb +3 -0
  148. data/sample/inheritance/test.rb +7 -0
  149. data/sample/map/extconf.rb +3 -0
  150. data/sample/map/map.cpp +81 -0
  151. data/sample/map/test.rb +7 -0
  152. data/test/Makefile.am +78 -0
  153. data/test/ext/Makefile.am +43 -0
  154. data/test/ext/t1/Foo.hpp +10 -0
  155. data/test/ext/t1/extconf.rb +2 -0
  156. data/test/ext/t1/t1.cpp +15 -0
  157. data/test/ext/t2/extconf.rb +2 -0
  158. data/test/ext/t2/t2.cpp +11 -0
  159. data/test/test_Address_Registration_Guard.cpp +43 -0
  160. data/test/test_Allocation_Strategies.cpp +77 -0
  161. data/test/test_Array.cpp +241 -0
  162. data/test/test_Builtin_Object.cpp +72 -0
  163. data/test/test_Class.cpp +498 -0
  164. data/test/test_Constructor.cpp +128 -0
  165. data/test/test_Critical_Guard.cpp +51 -0
  166. data/test/test_Data_Object.cpp +275 -0
  167. data/test/test_Data_Type.cpp +348 -0
  168. data/test/test_Director.cpp +301 -0
  169. data/test/test_Enum.cpp +195 -0
  170. data/test/test_Exception.cpp +46 -0
  171. data/test/test_Hash.cpp +195 -0
  172. data/test/test_Identifier.cpp +70 -0
  173. data/test/test_Jump_Tag.cpp +17 -0
  174. data/test/test_Memory_Management.cpp +50 -0
  175. data/test/test_Module.cpp +481 -0
  176. data/test/test_Object.cpp +148 -0
  177. data/test/test_String.cpp +94 -0
  178. data/test/test_Struct.cpp +192 -0
  179. data/test/test_Symbol.cpp +63 -0
  180. data/test/test_To_From_Ruby.cpp +263 -0
  181. data/test/test_VM.cpp +26 -0
  182. data/test/test_global_functions.cpp +114 -0
  183. data/test/test_rice.rb +43 -0
  184. data/test/unittest.cpp +136 -0
  185. data/test/unittest.hpp +292 -0
  186. metadata +276 -0
@@ -0,0 +1,829 @@
1
+ #ifndef Rice__detail__Auto_Function_Wrapper__hpp_
2
+ #define Rice__detail__Auto_Function_Wrapper__hpp_
3
+
4
+ // This is a generated file. DO NOT EDIT!!
5
+
6
+
7
+ // This causes problems with certain C++ libraries
8
+ #undef TYPE
9
+
10
+ #include "Exception_Handler_defn.hpp"
11
+
12
+ namespace Rice
13
+ {
14
+
15
+ namespace detail
16
+ {
17
+
18
+ #ifdef DOXYGEN
19
+
20
+ #else
21
+
22
+ template<typename Func_T, typename Ret_T, typename Arg0_T = void, typename Arg1_T = void, typename Arg2_T = void, typename Arg3_T = void, typename Arg4_T = void, typename Arg5_T = void, typename Arg6_T = void, typename Arg7_T = void, typename Arg8_T = void, typename Arg9_T = void, typename Arg10_T = void, typename Arg11_T = void, typename Arg12_T = void, typename Arg13_T = void, typename Arg14_T = void, typename Arg15_T = void>
23
+ class Auto_Function_Wrapper
24
+ : public Wrapped_Function
25
+ {
26
+ public:
27
+ typedef Func_T Func;
28
+
29
+ static const int Num_Args = 16;
30
+
31
+ Auto_Function_Wrapper(
32
+ Func func,
33
+ Data_Object<Exception_Handler> handler,
34
+ Arguments* arguments = 0);
35
+
36
+ static VALUE call(int argc, VALUE* args, VALUE self);
37
+
38
+ private:
39
+ Func func_;
40
+ Data_Object<Exception_Handler> handler_;
41
+ Address_Registration_Guard handler_guard_;
42
+ Arguments* arguments_;
43
+ };
44
+
45
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T, typename Arg13_T, typename Arg14_T, typename Arg15_T>
46
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, Arg13_T, Arg14_T, Arg15_T>
47
+ : public Wrapped_Function
48
+ {
49
+ public:
50
+ typedef Func_T Func;
51
+
52
+ static const int Num_Args = 16;
53
+
54
+ Auto_Function_Wrapper(
55
+ Func func,
56
+ Data_Object<Exception_Handler> handler,
57
+ Arguments* arguments = 0);
58
+
59
+ static VALUE call(int argc, VALUE* args, VALUE self);
60
+
61
+ private:
62
+ Func func_;
63
+ Data_Object<Exception_Handler> handler_;
64
+ Address_Registration_Guard handler_guard_;
65
+ Arguments* arguments_;
66
+ };
67
+
68
+ // ---------------------------------------------------------------------
69
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T, typename Arg13_T, typename Arg14_T>
70
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, Arg13_T, Arg14_T>
71
+ : public Wrapped_Function
72
+ {
73
+ public:
74
+ typedef Func_T Func;
75
+
76
+ static const int Num_Args = 15;
77
+
78
+ Auto_Function_Wrapper(
79
+ Func func,
80
+ Data_Object<Exception_Handler> handler,
81
+ Arguments* arguments = 0);
82
+
83
+ static VALUE call(int argc, VALUE* args, VALUE self);
84
+
85
+ private:
86
+ Func func_;
87
+ Data_Object<Exception_Handler> handler_;
88
+ Address_Registration_Guard handler_guard_;
89
+ Arguments* arguments_;
90
+ };
91
+
92
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T, typename Arg13_T, typename Arg14_T>
93
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, Arg13_T, Arg14_T>
94
+ : public Wrapped_Function
95
+ {
96
+ public:
97
+ typedef Func_T Func;
98
+
99
+ static const int Num_Args = 15;
100
+
101
+ Auto_Function_Wrapper(
102
+ Func func,
103
+ Data_Object<Exception_Handler> handler,
104
+ Arguments* arguments = 0);
105
+
106
+ static VALUE call(int argc, VALUE* args, VALUE self);
107
+
108
+ private:
109
+ Func func_;
110
+ Data_Object<Exception_Handler> handler_;
111
+ Address_Registration_Guard handler_guard_;
112
+ Arguments* arguments_;
113
+ };
114
+
115
+ // ---------------------------------------------------------------------
116
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T, typename Arg13_T>
117
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, Arg13_T>
118
+ : public Wrapped_Function
119
+ {
120
+ public:
121
+ typedef Func_T Func;
122
+
123
+ static const int Num_Args = 14;
124
+
125
+ Auto_Function_Wrapper(
126
+ Func func,
127
+ Data_Object<Exception_Handler> handler,
128
+ Arguments* arguments = 0);
129
+
130
+ static VALUE call(int argc, VALUE* args, VALUE self);
131
+
132
+ private:
133
+ Func func_;
134
+ Data_Object<Exception_Handler> handler_;
135
+ Address_Registration_Guard handler_guard_;
136
+ Arguments* arguments_;
137
+ };
138
+
139
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T, typename Arg13_T>
140
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T, Arg13_T>
141
+ : public Wrapped_Function
142
+ {
143
+ public:
144
+ typedef Func_T Func;
145
+
146
+ static const int Num_Args = 14;
147
+
148
+ Auto_Function_Wrapper(
149
+ Func func,
150
+ Data_Object<Exception_Handler> handler,
151
+ Arguments* arguments = 0);
152
+
153
+ static VALUE call(int argc, VALUE* args, VALUE self);
154
+
155
+ private:
156
+ Func func_;
157
+ Data_Object<Exception_Handler> handler_;
158
+ Address_Registration_Guard handler_guard_;
159
+ Arguments* arguments_;
160
+ };
161
+
162
+ // ---------------------------------------------------------------------
163
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T>
164
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T>
165
+ : public Wrapped_Function
166
+ {
167
+ public:
168
+ typedef Func_T Func;
169
+
170
+ static const int Num_Args = 13;
171
+
172
+ Auto_Function_Wrapper(
173
+ Func func,
174
+ Data_Object<Exception_Handler> handler,
175
+ Arguments* arguments = 0);
176
+
177
+ static VALUE call(int argc, VALUE* args, VALUE self);
178
+
179
+ private:
180
+ Func func_;
181
+ Data_Object<Exception_Handler> handler_;
182
+ Address_Registration_Guard handler_guard_;
183
+ Arguments* arguments_;
184
+ };
185
+
186
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T, typename Arg12_T>
187
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T, Arg12_T>
188
+ : public Wrapped_Function
189
+ {
190
+ public:
191
+ typedef Func_T Func;
192
+
193
+ static const int Num_Args = 13;
194
+
195
+ Auto_Function_Wrapper(
196
+ Func func,
197
+ Data_Object<Exception_Handler> handler,
198
+ Arguments* arguments = 0);
199
+
200
+ static VALUE call(int argc, VALUE* args, VALUE self);
201
+
202
+ private:
203
+ Func func_;
204
+ Data_Object<Exception_Handler> handler_;
205
+ Address_Registration_Guard handler_guard_;
206
+ Arguments* arguments_;
207
+ };
208
+
209
+ // ---------------------------------------------------------------------
210
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T>
211
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T>
212
+ : public Wrapped_Function
213
+ {
214
+ public:
215
+ typedef Func_T Func;
216
+
217
+ static const int Num_Args = 12;
218
+
219
+ Auto_Function_Wrapper(
220
+ Func func,
221
+ Data_Object<Exception_Handler> handler,
222
+ Arguments* arguments = 0);
223
+
224
+ static VALUE call(int argc, VALUE* args, VALUE self);
225
+
226
+ private:
227
+ Func func_;
228
+ Data_Object<Exception_Handler> handler_;
229
+ Address_Registration_Guard handler_guard_;
230
+ Arguments* arguments_;
231
+ };
232
+
233
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T, typename Arg11_T>
234
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T>
235
+ : public Wrapped_Function
236
+ {
237
+ public:
238
+ typedef Func_T Func;
239
+
240
+ static const int Num_Args = 12;
241
+
242
+ Auto_Function_Wrapper(
243
+ Func func,
244
+ Data_Object<Exception_Handler> handler,
245
+ Arguments* arguments = 0);
246
+
247
+ static VALUE call(int argc, VALUE* args, VALUE self);
248
+
249
+ private:
250
+ Func func_;
251
+ Data_Object<Exception_Handler> handler_;
252
+ Address_Registration_Guard handler_guard_;
253
+ Arguments* arguments_;
254
+ };
255
+
256
+ // ---------------------------------------------------------------------
257
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T>
258
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T>
259
+ : public Wrapped_Function
260
+ {
261
+ public:
262
+ typedef Func_T Func;
263
+
264
+ static const int Num_Args = 11;
265
+
266
+ Auto_Function_Wrapper(
267
+ Func func,
268
+ Data_Object<Exception_Handler> handler,
269
+ Arguments* arguments = 0);
270
+
271
+ static VALUE call(int argc, VALUE* args, VALUE self);
272
+
273
+ private:
274
+ Func func_;
275
+ Data_Object<Exception_Handler> handler_;
276
+ Address_Registration_Guard handler_guard_;
277
+ Arguments* arguments_;
278
+ };
279
+
280
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T, typename Arg10_T>
281
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T>
282
+ : public Wrapped_Function
283
+ {
284
+ public:
285
+ typedef Func_T Func;
286
+
287
+ static const int Num_Args = 11;
288
+
289
+ Auto_Function_Wrapper(
290
+ Func func,
291
+ Data_Object<Exception_Handler> handler,
292
+ Arguments* arguments = 0);
293
+
294
+ static VALUE call(int argc, VALUE* args, VALUE self);
295
+
296
+ private:
297
+ Func func_;
298
+ Data_Object<Exception_Handler> handler_;
299
+ Address_Registration_Guard handler_guard_;
300
+ Arguments* arguments_;
301
+ };
302
+
303
+ // ---------------------------------------------------------------------
304
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T>
305
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T>
306
+ : public Wrapped_Function
307
+ {
308
+ public:
309
+ typedef Func_T Func;
310
+
311
+ static const int Num_Args = 10;
312
+
313
+ Auto_Function_Wrapper(
314
+ Func func,
315
+ Data_Object<Exception_Handler> handler,
316
+ Arguments* arguments = 0);
317
+
318
+ static VALUE call(int argc, VALUE* args, VALUE self);
319
+
320
+ private:
321
+ Func func_;
322
+ Data_Object<Exception_Handler> handler_;
323
+ Address_Registration_Guard handler_guard_;
324
+ Arguments* arguments_;
325
+ };
326
+
327
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T, typename Arg9_T>
328
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T>
329
+ : public Wrapped_Function
330
+ {
331
+ public:
332
+ typedef Func_T Func;
333
+
334
+ static const int Num_Args = 10;
335
+
336
+ Auto_Function_Wrapper(
337
+ Func func,
338
+ Data_Object<Exception_Handler> handler,
339
+ Arguments* arguments = 0);
340
+
341
+ static VALUE call(int argc, VALUE* args, VALUE self);
342
+
343
+ private:
344
+ Func func_;
345
+ Data_Object<Exception_Handler> handler_;
346
+ Address_Registration_Guard handler_guard_;
347
+ Arguments* arguments_;
348
+ };
349
+
350
+ // ---------------------------------------------------------------------
351
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T>
352
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T>
353
+ : public Wrapped_Function
354
+ {
355
+ public:
356
+ typedef Func_T Func;
357
+
358
+ static const int Num_Args = 9;
359
+
360
+ Auto_Function_Wrapper(
361
+ Func func,
362
+ Data_Object<Exception_Handler> handler,
363
+ Arguments* arguments = 0);
364
+
365
+ static VALUE call(int argc, VALUE* args, VALUE self);
366
+
367
+ private:
368
+ Func func_;
369
+ Data_Object<Exception_Handler> handler_;
370
+ Address_Registration_Guard handler_guard_;
371
+ Arguments* arguments_;
372
+ };
373
+
374
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T, typename Arg8_T>
375
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T>
376
+ : public Wrapped_Function
377
+ {
378
+ public:
379
+ typedef Func_T Func;
380
+
381
+ static const int Num_Args = 9;
382
+
383
+ Auto_Function_Wrapper(
384
+ Func func,
385
+ Data_Object<Exception_Handler> handler,
386
+ Arguments* arguments = 0);
387
+
388
+ static VALUE call(int argc, VALUE* args, VALUE self);
389
+
390
+ private:
391
+ Func func_;
392
+ Data_Object<Exception_Handler> handler_;
393
+ Address_Registration_Guard handler_guard_;
394
+ Arguments* arguments_;
395
+ };
396
+
397
+ // ---------------------------------------------------------------------
398
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T>
399
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T>
400
+ : public Wrapped_Function
401
+ {
402
+ public:
403
+ typedef Func_T Func;
404
+
405
+ static const int Num_Args = 8;
406
+
407
+ Auto_Function_Wrapper(
408
+ Func func,
409
+ Data_Object<Exception_Handler> handler,
410
+ Arguments* arguments = 0);
411
+
412
+ static VALUE call(int argc, VALUE* args, VALUE self);
413
+
414
+ private:
415
+ Func func_;
416
+ Data_Object<Exception_Handler> handler_;
417
+ Address_Registration_Guard handler_guard_;
418
+ Arguments* arguments_;
419
+ };
420
+
421
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T, typename Arg7_T>
422
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T>
423
+ : public Wrapped_Function
424
+ {
425
+ public:
426
+ typedef Func_T Func;
427
+
428
+ static const int Num_Args = 8;
429
+
430
+ Auto_Function_Wrapper(
431
+ Func func,
432
+ Data_Object<Exception_Handler> handler,
433
+ Arguments* arguments = 0);
434
+
435
+ static VALUE call(int argc, VALUE* args, VALUE self);
436
+
437
+ private:
438
+ Func func_;
439
+ Data_Object<Exception_Handler> handler_;
440
+ Address_Registration_Guard handler_guard_;
441
+ Arguments* arguments_;
442
+ };
443
+
444
+ // ---------------------------------------------------------------------
445
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T>
446
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T>
447
+ : public Wrapped_Function
448
+ {
449
+ public:
450
+ typedef Func_T Func;
451
+
452
+ static const int Num_Args = 7;
453
+
454
+ Auto_Function_Wrapper(
455
+ Func func,
456
+ Data_Object<Exception_Handler> handler,
457
+ Arguments* arguments = 0);
458
+
459
+ static VALUE call(int argc, VALUE* args, VALUE self);
460
+
461
+ private:
462
+ Func func_;
463
+ Data_Object<Exception_Handler> handler_;
464
+ Address_Registration_Guard handler_guard_;
465
+ Arguments* arguments_;
466
+ };
467
+
468
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T>
469
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T>
470
+ : public Wrapped_Function
471
+ {
472
+ public:
473
+ typedef Func_T Func;
474
+
475
+ static const int Num_Args = 7;
476
+
477
+ Auto_Function_Wrapper(
478
+ Func func,
479
+ Data_Object<Exception_Handler> handler,
480
+ Arguments* arguments = 0);
481
+
482
+ static VALUE call(int argc, VALUE* args, VALUE self);
483
+
484
+ private:
485
+ Func func_;
486
+ Data_Object<Exception_Handler> handler_;
487
+ Address_Registration_Guard handler_guard_;
488
+ Arguments* arguments_;
489
+ };
490
+
491
+ // ---------------------------------------------------------------------
492
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
493
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T>
494
+ : public Wrapped_Function
495
+ {
496
+ public:
497
+ typedef Func_T Func;
498
+
499
+ static const int Num_Args = 6;
500
+
501
+ Auto_Function_Wrapper(
502
+ Func func,
503
+ Data_Object<Exception_Handler> handler,
504
+ Arguments* arguments = 0);
505
+
506
+ static VALUE call(int argc, VALUE* args, VALUE self);
507
+
508
+ private:
509
+ Func func_;
510
+ Data_Object<Exception_Handler> handler_;
511
+ Address_Registration_Guard handler_guard_;
512
+ Arguments* arguments_;
513
+ };
514
+
515
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
516
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T>
517
+ : public Wrapped_Function
518
+ {
519
+ public:
520
+ typedef Func_T Func;
521
+
522
+ static const int Num_Args = 6;
523
+
524
+ Auto_Function_Wrapper(
525
+ Func func,
526
+ Data_Object<Exception_Handler> handler,
527
+ Arguments* arguments = 0);
528
+
529
+ static VALUE call(int argc, VALUE* args, VALUE self);
530
+
531
+ private:
532
+ Func func_;
533
+ Data_Object<Exception_Handler> handler_;
534
+ Address_Registration_Guard handler_guard_;
535
+ Arguments* arguments_;
536
+ };
537
+
538
+ // ---------------------------------------------------------------------
539
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
540
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T>
541
+ : public Wrapped_Function
542
+ {
543
+ public:
544
+ typedef Func_T Func;
545
+
546
+ static const int Num_Args = 5;
547
+
548
+ Auto_Function_Wrapper(
549
+ Func func,
550
+ Data_Object<Exception_Handler> handler,
551
+ Arguments* arguments = 0);
552
+
553
+ static VALUE call(int argc, VALUE* args, VALUE self);
554
+
555
+ private:
556
+ Func func_;
557
+ Data_Object<Exception_Handler> handler_;
558
+ Address_Registration_Guard handler_guard_;
559
+ Arguments* arguments_;
560
+ };
561
+
562
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
563
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T>
564
+ : public Wrapped_Function
565
+ {
566
+ public:
567
+ typedef Func_T Func;
568
+
569
+ static const int Num_Args = 5;
570
+
571
+ Auto_Function_Wrapper(
572
+ Func func,
573
+ Data_Object<Exception_Handler> handler,
574
+ Arguments* arguments = 0);
575
+
576
+ static VALUE call(int argc, VALUE* args, VALUE self);
577
+
578
+ private:
579
+ Func func_;
580
+ Data_Object<Exception_Handler> handler_;
581
+ Address_Registration_Guard handler_guard_;
582
+ Arguments* arguments_;
583
+ };
584
+
585
+ // ---------------------------------------------------------------------
586
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
587
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T>
588
+ : public Wrapped_Function
589
+ {
590
+ public:
591
+ typedef Func_T Func;
592
+
593
+ static const int Num_Args = 4;
594
+
595
+ Auto_Function_Wrapper(
596
+ Func func,
597
+ Data_Object<Exception_Handler> handler,
598
+ Arguments* arguments = 0);
599
+
600
+ static VALUE call(int argc, VALUE* args, VALUE self);
601
+
602
+ private:
603
+ Func func_;
604
+ Data_Object<Exception_Handler> handler_;
605
+ Address_Registration_Guard handler_guard_;
606
+ Arguments* arguments_;
607
+ };
608
+
609
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
610
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T>
611
+ : public Wrapped_Function
612
+ {
613
+ public:
614
+ typedef Func_T Func;
615
+
616
+ static const int Num_Args = 4;
617
+
618
+ Auto_Function_Wrapper(
619
+ Func func,
620
+ Data_Object<Exception_Handler> handler,
621
+ Arguments* arguments = 0);
622
+
623
+ static VALUE call(int argc, VALUE* args, VALUE self);
624
+
625
+ private:
626
+ Func func_;
627
+ Data_Object<Exception_Handler> handler_;
628
+ Address_Registration_Guard handler_guard_;
629
+ Arguments* arguments_;
630
+ };
631
+
632
+ // ---------------------------------------------------------------------
633
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
634
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T>
635
+ : public Wrapped_Function
636
+ {
637
+ public:
638
+ typedef Func_T Func;
639
+
640
+ static const int Num_Args = 3;
641
+
642
+ Auto_Function_Wrapper(
643
+ Func func,
644
+ Data_Object<Exception_Handler> handler,
645
+ Arguments* arguments = 0);
646
+
647
+ static VALUE call(int argc, VALUE* args, VALUE self);
648
+
649
+ private:
650
+ Func func_;
651
+ Data_Object<Exception_Handler> handler_;
652
+ Address_Registration_Guard handler_guard_;
653
+ Arguments* arguments_;
654
+ };
655
+
656
+ template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
657
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T>
658
+ : public Wrapped_Function
659
+ {
660
+ public:
661
+ typedef Func_T Func;
662
+
663
+ static const int Num_Args = 3;
664
+
665
+ Auto_Function_Wrapper(
666
+ Func func,
667
+ Data_Object<Exception_Handler> handler,
668
+ Arguments* arguments = 0);
669
+
670
+ static VALUE call(int argc, VALUE* args, VALUE self);
671
+
672
+ private:
673
+ Func func_;
674
+ Data_Object<Exception_Handler> handler_;
675
+ Address_Registration_Guard handler_guard_;
676
+ Arguments* arguments_;
677
+ };
678
+
679
+ // ---------------------------------------------------------------------
680
+ template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T>
681
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T>
682
+ : public Wrapped_Function
683
+ {
684
+ public:
685
+ typedef Func_T Func;
686
+
687
+ static const int Num_Args = 2;
688
+
689
+ Auto_Function_Wrapper(
690
+ Func func,
691
+ Data_Object<Exception_Handler> handler,
692
+ Arguments* arguments = 0);
693
+
694
+ static VALUE call(int argc, VALUE* args, VALUE self);
695
+
696
+ private:
697
+ Func func_;
698
+ Data_Object<Exception_Handler> handler_;
699
+ Address_Registration_Guard handler_guard_;
700
+ Arguments* arguments_;
701
+ };
702
+
703
+ template<typename Func_T, typename Arg0_T, typename Arg1_T>
704
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T>
705
+ : public Wrapped_Function
706
+ {
707
+ public:
708
+ typedef Func_T Func;
709
+
710
+ static const int Num_Args = 2;
711
+
712
+ Auto_Function_Wrapper(
713
+ Func func,
714
+ Data_Object<Exception_Handler> handler,
715
+ Arguments* arguments = 0);
716
+
717
+ static VALUE call(int argc, VALUE* args, VALUE self);
718
+
719
+ private:
720
+ Func func_;
721
+ Data_Object<Exception_Handler> handler_;
722
+ Address_Registration_Guard handler_guard_;
723
+ Arguments* arguments_;
724
+ };
725
+
726
+ // ---------------------------------------------------------------------
727
+ template<typename Func_T, typename Ret_T, typename Arg0_T>
728
+ class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T>
729
+ : public Wrapped_Function
730
+ {
731
+ public:
732
+ typedef Func_T Func;
733
+
734
+ static const int Num_Args = 1;
735
+
736
+ Auto_Function_Wrapper(
737
+ Func func,
738
+ Data_Object<Exception_Handler> handler,
739
+ Arguments* arguments = 0);
740
+
741
+ static VALUE call(int argc, VALUE* args, VALUE self);
742
+
743
+ private:
744
+ Func func_;
745
+ Data_Object<Exception_Handler> handler_;
746
+ Address_Registration_Guard handler_guard_;
747
+ Arguments* arguments_;
748
+ };
749
+
750
+ template<typename Func_T, typename Arg0_T>
751
+ class Auto_Function_Wrapper<Func_T, void, Arg0_T>
752
+ : public Wrapped_Function
753
+ {
754
+ public:
755
+ typedef Func_T Func;
756
+
757
+ static const int Num_Args = 1;
758
+
759
+ Auto_Function_Wrapper(
760
+ Func func,
761
+ Data_Object<Exception_Handler> handler,
762
+ Arguments* arguments = 0);
763
+
764
+ static VALUE call(int argc, VALUE* args, VALUE self);
765
+
766
+ private:
767
+ Func func_;
768
+ Data_Object<Exception_Handler> handler_;
769
+ Address_Registration_Guard handler_guard_;
770
+ Arguments* arguments_;
771
+ };
772
+
773
+ // ---------------------------------------------------------------------
774
+ template<typename Func_T, typename Ret_T>
775
+ class Auto_Function_Wrapper<Func_T, Ret_T>
776
+ : public Wrapped_Function
777
+ {
778
+ public:
779
+ // typedef void (*Func)();
780
+ typedef Func_T Func;
781
+
782
+ static const int Num_Args = 0;
783
+
784
+ Auto_Function_Wrapper(
785
+ Func func,
786
+ Data_Object<Exception_Handler> handler,
787
+ Arguments* arguments = new Arguments());
788
+
789
+ static VALUE call();
790
+
791
+ private:
792
+ Func func_;
793
+ Data_Object<Exception_Handler> handler_;
794
+ Arguments* arguments_;
795
+ };
796
+
797
+ template<typename Func_T>
798
+ class Auto_Function_Wrapper<Func_T, void>
799
+ : public Wrapped_Function
800
+ {
801
+ public:
802
+ // typedef void (*Func)();
803
+ typedef Func_T Func;
804
+
805
+ static const int Num_Args = 0;
806
+
807
+ Auto_Function_Wrapper(
808
+ Func func,
809
+ Data_Object<Exception_Handler> handler,
810
+ Arguments* arguments = new Arguments());
811
+
812
+ static VALUE call();
813
+
814
+ private:
815
+ Func func_;
816
+ Data_Object<Exception_Handler> handler_;
817
+ Arguments* arguments_;
818
+ };
819
+
820
+ #endif // DOXYGEN
821
+
822
+ } // namespace detail
823
+
824
+ } // namespace Rice
825
+
826
+ #include "Auto_Function_Wrapper.ipp"
827
+
828
+ #endif // Rice__detail__Auto_Function_Wrapper__hpp_
829
+