rice 2.1.2 → 4.0.1

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