rice 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +121 -0
  3. data/CONTRIBUTORS.md +19 -0
  4. data/Gemfile +3 -0
  5. data/README.md +44 -1025
  6. data/Rakefile +95 -12
  7. data/include/rice/rice.hpp +7766 -0
  8. data/lib/mkmf-rice.rb +127 -0
  9. data/lib/version.rb +3 -0
  10. data/rice/Address_Registration_Guard.ipp +75 -32
  11. data/rice/Address_Registration_Guard_defn.hpp +60 -56
  12. data/rice/Arg.hpp +80 -4
  13. data/rice/Arg.ipp +51 -0
  14. data/rice/Constructor.hpp +12 -14
  15. data/rice/Data_Object.ipp +234 -107
  16. data/rice/Data_Object_defn.hpp +77 -117
  17. data/rice/Data_Type.hpp +1 -2
  18. data/rice/Data_Type.ipp +251 -295
  19. data/rice/Data_Type_defn.hpp +175 -243
  20. data/rice/Director.hpp +11 -6
  21. data/rice/Enum.hpp +54 -104
  22. data/rice/Enum.ipp +104 -230
  23. data/rice/Exception.hpp +2 -8
  24. data/rice/Exception.ipp +65 -0
  25. data/rice/Exception_defn.hpp +46 -47
  26. data/rice/Identifier.hpp +28 -28
  27. data/rice/Identifier.ipp +23 -27
  28. data/rice/Return.hpp +39 -0
  29. data/rice/Return.ipp +33 -0
  30. data/rice/detail/Exception_Handler.ipp +22 -62
  31. data/rice/detail/Exception_Handler_defn.hpp +76 -91
  32. data/rice/detail/Iterator.hpp +18 -88
  33. data/rice/detail/Iterator.ipp +47 -0
  34. data/rice/detail/Jump_Tag.hpp +21 -0
  35. data/rice/detail/MethodInfo.hpp +44 -0
  36. data/rice/detail/MethodInfo.ipp +78 -0
  37. data/rice/detail/NativeAttribute.hpp +53 -0
  38. data/rice/detail/NativeAttribute.ipp +83 -0
  39. data/rice/detail/NativeFunction.hpp +69 -0
  40. data/rice/detail/NativeFunction.ipp +248 -0
  41. data/rice/detail/RubyFunction.hpp +39 -0
  42. data/rice/detail/RubyFunction.ipp +92 -0
  43. data/rice/detail/Type.hpp +29 -0
  44. data/rice/detail/Type.ipp +138 -0
  45. data/rice/detail/TypeRegistry.hpp +50 -0
  46. data/rice/detail/TypeRegistry.ipp +106 -0
  47. data/rice/detail/Wrapper.hpp +51 -0
  48. data/rice/detail/Wrapper.ipp +151 -0
  49. data/rice/detail/default_allocation_func.hpp +8 -19
  50. data/rice/detail/default_allocation_func.ipp +9 -8
  51. data/rice/detail/from_ruby.hpp +2 -37
  52. data/rice/detail/from_ruby.ipp +1020 -46
  53. data/rice/detail/from_ruby_defn.hpp +38 -0
  54. data/rice/detail/function_traits.hpp +124 -0
  55. data/rice/detail/method_data.hpp +23 -15
  56. data/rice/detail/method_data.ipp +53 -0
  57. data/rice/detail/rice_traits.hpp +116 -0
  58. data/rice/detail/ruby.hpp +9 -46
  59. data/rice/detail/to_ruby.hpp +3 -17
  60. data/rice/detail/to_ruby.ipp +409 -31
  61. data/rice/detail/to_ruby_defn.hpp +48 -0
  62. data/rice/forward_declares.ipp +82 -0
  63. data/rice/global_function.hpp +16 -20
  64. data/rice/global_function.ipp +8 -17
  65. data/rice/rice.hpp +59 -0
  66. data/rice/ruby_mark.hpp +5 -3
  67. data/rice/ruby_try_catch.hpp +4 -4
  68. data/rice/stl.hpp +11 -0
  69. data/sample/callbacks/extconf.rb +3 -0
  70. data/sample/callbacks/sample_callbacks.cpp +10 -13
  71. data/sample/enum/extconf.rb +3 -0
  72. data/sample/enum/sample_enum.cpp +3 -17
  73. data/sample/enum/test.rb +2 -2
  74. data/sample/inheritance/animals.cpp +8 -24
  75. data/sample/inheritance/extconf.rb +3 -0
  76. data/sample/inheritance/test.rb +1 -1
  77. data/sample/map/extconf.rb +3 -0
  78. data/sample/map/map.cpp +10 -18
  79. data/sample/map/test.rb +1 -1
  80. data/test/embed_ruby.cpp +18 -5
  81. data/test/ext/t1/extconf.rb +3 -0
  82. data/test/ext/t1/t1.cpp +1 -3
  83. data/test/ext/t2/extconf.rb +3 -0
  84. data/test/ext/t2/t2.cpp +1 -1
  85. data/test/extconf.rb +23 -0
  86. data/test/ruby/test_callbacks_sample.rb +28 -0
  87. data/test/ruby/test_multiple_extensions.rb +18 -0
  88. data/test/ruby/test_multiple_extensions_same_class.rb +14 -0
  89. data/test/ruby/test_multiple_extensions_with_inheritance.rb +20 -0
  90. data/test/test_Address_Registration_Guard.cpp +23 -10
  91. data/test/test_Array.cpp +129 -73
  92. data/test/test_Attribute.cpp +147 -0
  93. data/test/test_Builtin_Object.cpp +34 -14
  94. data/test/test_Class.cpp +149 -275
  95. data/test/test_Constructor.cpp +10 -9
  96. data/test/test_Data_Object.cpp +133 -192
  97. data/test/test_Data_Type.cpp +322 -252
  98. data/test/test_Director.cpp +54 -41
  99. data/test/test_Enum.cpp +228 -103
  100. data/test/test_Exception.cpp +5 -6
  101. data/test/test_Hash.cpp +31 -30
  102. data/test/test_Identifier.cpp +4 -5
  103. data/test/test_Inheritance.cpp +221 -0
  104. data/test/test_Iterator.cpp +161 -0
  105. data/test/test_Jump_Tag.cpp +1 -1
  106. data/test/test_Keep_Alive.cpp +161 -0
  107. data/test/test_Memory_Management.cpp +2 -4
  108. data/test/test_Module.cpp +167 -110
  109. data/test/test_Object.cpp +41 -21
  110. data/test/test_Ownership.cpp +275 -0
  111. data/test/test_Self.cpp +205 -0
  112. data/test/test_Stl_Optional.cpp +90 -0
  113. data/test/test_Stl_Pair.cpp +144 -0
  114. data/test/test_Stl_SmartPointer.cpp +200 -0
  115. data/test/test_Stl_String.cpp +74 -0
  116. data/test/test_Stl_Vector.cpp +652 -0
  117. data/test/test_String.cpp +1 -2
  118. data/test/test_Struct.cpp +29 -39
  119. data/test/test_Symbol.cpp +1 -2
  120. data/test/test_To_From_Ruby.cpp +249 -285
  121. data/test/test_global_functions.cpp +39 -19
  122. data/test/unittest.hpp +0 -4
  123. metadata +63 -139
  124. data/Doxyfile +0 -2268
  125. data/Makefile.am +0 -26
  126. data/Makefile.in +0 -931
  127. data/README.mingw +0 -8
  128. data/aclocal.m4 +0 -1085
  129. data/ax_cxx_compile_stdcxx.m4 +0 -951
  130. data/bootstrap +0 -8
  131. data/config.guess +0 -1421
  132. data/config.sub +0 -1807
  133. data/configure +0 -7792
  134. data/configure.ac +0 -55
  135. data/depcomp +0 -791
  136. data/doxygen.ac +0 -314
  137. data/doxygen.am +0 -186
  138. data/extconf.rb +0 -70
  139. data/install-sh +0 -501
  140. data/missing +0 -215
  141. data/post-autoconf.rb +0 -22
  142. data/post-automake.rb +0 -28
  143. data/rice/Address_Registration_Guard.cpp +0 -22
  144. data/rice/Arg_impl.hpp +0 -129
  145. data/rice/Arg_operators.cpp +0 -21
  146. data/rice/Arg_operators.hpp +0 -19
  147. data/rice/Array.hpp +0 -214
  148. data/rice/Array.ipp +0 -256
  149. data/rice/Builtin_Object.hpp +0 -8
  150. data/rice/Builtin_Object.ipp +0 -50
  151. data/rice/Builtin_Object_defn.hpp +0 -50
  152. data/rice/Class.cpp +0 -57
  153. data/rice/Class.hpp +0 -8
  154. data/rice/Class.ipp +0 -6
  155. data/rice/Class_defn.hpp +0 -84
  156. data/rice/Data_Type.cpp +0 -54
  157. data/rice/Data_Type_fwd.hpp +0 -12
  158. data/rice/Director.cpp +0 -13
  159. data/rice/Exception.cpp +0 -54
  160. data/rice/Exception_Base.hpp +0 -8
  161. data/rice/Exception_Base.ipp +0 -13
  162. data/rice/Exception_Base_defn.hpp +0 -27
  163. data/rice/Hash.hpp +0 -230
  164. data/rice/Hash.ipp +0 -329
  165. data/rice/Identifier.cpp +0 -8
  166. data/rice/Jump_Tag.hpp +0 -24
  167. data/rice/Makefile.am +0 -121
  168. data/rice/Makefile.in +0 -884
  169. data/rice/Module.cpp +0 -84
  170. data/rice/Module.hpp +0 -8
  171. data/rice/Module.ipp +0 -6
  172. data/rice/Module_defn.hpp +0 -88
  173. data/rice/Module_impl.hpp +0 -281
  174. data/rice/Module_impl.ipp +0 -345
  175. data/rice/Object.cpp +0 -169
  176. data/rice/Object.hpp +0 -8
  177. data/rice/Object.ipp +0 -33
  178. data/rice/Object_defn.hpp +0 -214
  179. data/rice/Require_Guard.hpp +0 -21
  180. data/rice/String.cpp +0 -89
  181. data/rice/String.hpp +0 -91
  182. data/rice/Struct.cpp +0 -117
  183. data/rice/Struct.hpp +0 -162
  184. data/rice/Struct.ipp +0 -26
  185. data/rice/Symbol.cpp +0 -25
  186. data/rice/Symbol.hpp +0 -66
  187. data/rice/Symbol.ipp +0 -44
  188. data/rice/config.hpp +0 -47
  189. data/rice/config.hpp.in +0 -46
  190. data/rice/detail/Arguments.hpp +0 -118
  191. data/rice/detail/Auto_Function_Wrapper.hpp +0 -898
  192. data/rice/detail/Auto_Function_Wrapper.ipp +0 -3181
  193. data/rice/detail/Auto_Member_Function_Wrapper.hpp +0 -897
  194. data/rice/detail/Auto_Member_Function_Wrapper.ipp +0 -2501
  195. data/rice/detail/Caster.hpp +0 -103
  196. data/rice/detail/Not_Copyable.hpp +0 -25
  197. data/rice/detail/Wrapped_Function.hpp +0 -33
  198. data/rice/detail/cfp.hpp +0 -24
  199. data/rice/detail/cfp.ipp +0 -51
  200. data/rice/detail/check_ruby_type.cpp +0 -27
  201. data/rice/detail/check_ruby_type.hpp +0 -23
  202. data/rice/detail/creation_funcs.hpp +0 -37
  203. data/rice/detail/creation_funcs.ipp +0 -36
  204. data/rice/detail/define_method_and_auto_wrap.hpp +0 -31
  205. data/rice/detail/define_method_and_auto_wrap.ipp +0 -30
  206. data/rice/detail/demangle.cpp +0 -56
  207. data/rice/detail/demangle.hpp +0 -19
  208. data/rice/detail/env.hpp +0 -11
  209. data/rice/detail/method_data.cpp +0 -92
  210. data/rice/detail/node.hpp +0 -13
  211. data/rice/detail/protect.cpp +0 -29
  212. data/rice/detail/protect.hpp +0 -34
  213. data/rice/detail/ruby_version_code.hpp +0 -6
  214. data/rice/detail/ruby_version_code.hpp.in +0 -6
  215. data/rice/detail/st.hpp +0 -22
  216. data/rice/detail/win32.hpp +0 -16
  217. data/rice/detail/wrap_function.hpp +0 -66
  218. data/rice/protect.hpp +0 -38
  219. data/rice/protect.ipp +0 -1134
  220. data/rice/rubypp.rb +0 -97
  221. data/rice/to_from_ruby.hpp +0 -8
  222. data/rice/to_from_ruby.ipp +0 -418
  223. data/rice/to_from_ruby_defn.hpp +0 -70
  224. data/ruby.ac +0 -135
  225. data/ruby/Makefile.am +0 -1
  226. data/ruby/Makefile.in +0 -628
  227. data/ruby/lib/Makefile.am +0 -3
  228. data/ruby/lib/Makefile.in +0 -506
  229. data/ruby/lib/mkmf-rice.rb.in +0 -217
  230. data/ruby/lib/version.rb +0 -3
  231. data/sample/Makefile.am +0 -53
  232. data/sample/Makefile.in +0 -495
  233. data/test/Makefile.am +0 -73
  234. data/test/Makefile.in +0 -1219
  235. data/test/ext/Makefile.am +0 -41
  236. data/test/ext/Makefile.in +0 -483
  237. data/test/test_rice.rb +0 -45
data/rice/config.hpp DELETED
@@ -1,47 +0,0 @@
1
- /* rice/config.hpp. Generated from config.hpp.in by configure. */
2
- /* rice/config.hpp.in. Generated from configure.ac by autoheader. */
3
-
4
- /* define if the compiler supports basic C++14 syntax */
5
- #define HAVE_CXX14 1
6
-
7
- /* Define to 1 if you have the <env.h> header file. */
8
- /* #undef HAVE_ENV_H */
9
-
10
- /* Define to 1 if you have the <node.h> header file. */
11
- /* #undef HAVE_NODE_H */
12
-
13
- /* Define to 1 if you have the <ruby.h> header file. */
14
- #define HAVE_RUBY_H 1
15
-
16
- /* Define to 1 if you have the <ruby/node.h> header file. */
17
- /* #undef HAVE_RUBY_NODE_H */
18
-
19
- /* Define to 1 if you have the <version.h> header file. */
20
- /* #undef HAVE_VERSION_H */
21
-
22
- /* Name of package */
23
- #define PACKAGE "rice"
24
-
25
- /* Define to the address where bug reports for this package should be sent. */
26
- #define PACKAGE_BUGREPORT ""
27
-
28
- /* Define to the full name of this package. */
29
- #define PACKAGE_NAME "rice"
30
-
31
- /* Define to the full name and version of this package. */
32
- #define PACKAGE_STRING "rice 1.1"
33
-
34
- /* Define to the one symbol short name of this package. */
35
- #define PACKAGE_TARNAME "rice"
36
-
37
- /* Define to the home page for this package. */
38
- #define PACKAGE_URL ""
39
-
40
- /* Define to the version of this package. */
41
- #define PACKAGE_VERSION "1.1"
42
-
43
- /* Define this macro to use ruby/node.h */
44
- /* #undef REALLY_HAVE_RUBY_NODE_H */
45
-
46
- /* Version number of package */
47
- #define VERSION "1.1"
data/rice/config.hpp.in DELETED
@@ -1,46 +0,0 @@
1
- /* rice/config.hpp.in. Generated from configure.ac by autoheader. */
2
-
3
- /* define if the compiler supports basic C++14 syntax */
4
- #undef HAVE_CXX14
5
-
6
- /* Define to 1 if you have the <env.h> header file. */
7
- #undef HAVE_ENV_H
8
-
9
- /* Define to 1 if you have the <node.h> header file. */
10
- #undef HAVE_NODE_H
11
-
12
- /* Define to 1 if you have the <ruby.h> header file. */
13
- #undef HAVE_RUBY_H
14
-
15
- /* Define to 1 if you have the <ruby/node.h> header file. */
16
- #undef HAVE_RUBY_NODE_H
17
-
18
- /* Define to 1 if you have the <version.h> header file. */
19
- #undef HAVE_VERSION_H
20
-
21
- /* Name of package */
22
- #undef PACKAGE
23
-
24
- /* Define to the address where bug reports for this package should be sent. */
25
- #undef PACKAGE_BUGREPORT
26
-
27
- /* Define to the full name of this package. */
28
- #undef PACKAGE_NAME
29
-
30
- /* Define to the full name and version of this package. */
31
- #undef PACKAGE_STRING
32
-
33
- /* Define to the one symbol short name of this package. */
34
- #undef PACKAGE_TARNAME
35
-
36
- /* Define to the home page for this package. */
37
- #undef PACKAGE_URL
38
-
39
- /* Define to the version of this package. */
40
- #undef PACKAGE_VERSION
41
-
42
- /* Define this macro to use ruby/node.h */
43
- #undef REALLY_HAVE_RUBY_NODE_H
44
-
45
- /* Version number of package */
46
- #undef VERSION
@@ -1,118 +0,0 @@
1
- #ifndef Rice__Arguments__hpp_
2
- #define Rice__Arguments__hpp_
3
-
4
- #include "../Arg_impl.hpp"
5
- #include <sstream>
6
- #include <vector>
7
- #include "../to_from_ruby_defn.hpp"
8
-
9
- namespace Rice {
10
-
11
- class Arguments
12
- {
13
- public:
14
- Arguments() {
15
- required_ = 0;
16
- optional_ = 0;
17
- }
18
-
19
- ~Arguments() {
20
- }
21
-
22
- /**
23
- * Get the full argument count of this
24
- * list of arguments.
25
- * Returns -1 no defined arguments
26
- */
27
- int count() {
28
- if(required_ == 0 && optional_ == 0) {
29
- return -1;
30
- } else {
31
- return required_ + optional_;
32
- }
33
- }
34
-
35
- /**
36
- * Get the rb_scan_args format string for this
37
- * list of arguments.
38
- * In the case of no Args (default case), this
39
- * method uses the passed in full argument count
40
- */
41
- std::string formatString(size_t fullArgCount)
42
- {
43
- std::stringstream s;
44
- if(required_ == 0 && optional_ == 0)
45
- {
46
- s << fullArgCount << 0;
47
- }
48
- else
49
- {
50
- s << required_ << optional_;
51
- }
52
-
53
- return s.str();
54
- }
55
-
56
- /**
57
- * Add a defined Arg to this list of Arguments
58
- */
59
- void add(const Arg& arg)
60
- {
61
- args_.push_back(arg);
62
-
63
- if(arg.hasDefaultValue())
64
- {
65
- optional_++;
66
- }
67
- else
68
- {
69
- required_++;
70
- }
71
- }
72
-
73
- /**
74
- * Is the argument at the request location an optional
75
- * argument?
76
- */
77
- bool isOptional(unsigned int pos)
78
- {
79
- if(required_ == 0 && optional_ == 0)
80
- {
81
- return false;
82
- }
83
- if(pos >= args_.size())
84
- {
85
- return false;
86
- }
87
- return args_[pos].hasDefaultValue();
88
- }
89
-
90
- /**
91
- * Given a position, a type, and a ruby VALUE, figure out
92
- * what argument value we need to return according to
93
- * defaults and if that VALUE is nil or not
94
- */
95
- template<typename Arg_T>
96
- Arg_T getArgumentOrDefault(int pos, VALUE in)
97
- {
98
- if(isOptional(pos) && NIL_P(in))
99
- {
100
- return args_[pos].getDefaultValue<Arg_T>();
101
- }
102
- else
103
- {
104
- return from_ruby<Arg_T>(in);
105
- }
106
- }
107
-
108
- private:
109
- std::vector<Arg> args_;
110
-
111
- /** Keep counts of required and optional parameters */
112
- int required_;
113
- int optional_;
114
- };
115
-
116
- }
117
-
118
- #endif // Rice__Arguments__hpp_
@@ -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
-