rice2 2.2.0

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