wurlinc-rice 1.4.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +23 -0
- data/Doxyfile +1253 -0
- data/Makefile.am +26 -0
- data/README +1119 -0
- data/README.mingw +8 -0
- data/Rakefile +33 -0
- data/bootstrap +9 -0
- data/configure.ac +52 -0
- data/doxygen.ac +314 -0
- data/doxygen.am +186 -0
- data/extconf.rb +41 -0
- data/post-autoconf.rb +22 -0
- data/post-automake.rb +28 -0
- data/rice/Address_Registration_Guard.hpp +7 -0
- data/rice/Address_Registration_Guard.ipp +34 -0
- data/rice/Address_Registration_Guard_defn.hpp +65 -0
- data/rice/Allocation_Strategies.hpp +37 -0
- data/rice/Arg.hpp +8 -0
- data/rice/Arg_impl.hpp +127 -0
- data/rice/Arg_operators.cpp +21 -0
- data/rice/Arg_operators.hpp +19 -0
- data/rice/Array.hpp +220 -0
- data/rice/Array.ipp +263 -0
- data/rice/Builtin_Object.hpp +8 -0
- data/rice/Builtin_Object.ipp +50 -0
- data/rice/Builtin_Object_defn.hpp +51 -0
- data/rice/Class.cpp +57 -0
- data/rice/Class.hpp +8 -0
- data/rice/Class.ipp +6 -0
- data/rice/Class_defn.hpp +83 -0
- data/rice/Constructor.hpp +367 -0
- data/rice/Critical_Guard.hpp +40 -0
- data/rice/Critical_Guard.ipp +26 -0
- data/rice/Data_Object.hpp +8 -0
- data/rice/Data_Object.ipp +133 -0
- data/rice/Data_Object_defn.hpp +132 -0
- data/rice/Data_Type.cpp +54 -0
- data/rice/Data_Type.hpp +8 -0
- data/rice/Data_Type.ipp +365 -0
- data/rice/Data_Type_defn.hpp +261 -0
- data/rice/Data_Type_fwd.hpp +12 -0
- data/rice/Director.cpp +13 -0
- data/rice/Director.hpp +39 -0
- data/rice/Enum.hpp +117 -0
- data/rice/Enum.ipp +246 -0
- data/rice/Exception.cpp +59 -0
- data/rice/Exception.hpp +9 -0
- data/rice/Exception_Base.hpp +8 -0
- data/rice/Exception_Base.ipp +13 -0
- data/rice/Exception_Base_defn.hpp +27 -0
- data/rice/Exception_defn.hpp +69 -0
- data/rice/Hash.hpp +210 -0
- data/rice/Hash.ipp +338 -0
- data/rice/Identifier.cpp +8 -0
- data/rice/Identifier.hpp +50 -0
- data/rice/Identifier.ipp +33 -0
- data/rice/Jump_Tag.hpp +24 -0
- data/rice/Makefile.am +129 -0
- data/rice/Module.cpp +84 -0
- data/rice/Module.hpp +8 -0
- data/rice/Module.ipp +6 -0
- data/rice/Module_defn.hpp +88 -0
- data/rice/Module_impl.hpp +281 -0
- data/rice/Module_impl.ipp +348 -0
- data/rice/Object.cpp +160 -0
- data/rice/Object.hpp +8 -0
- data/rice/Object.ipp +19 -0
- data/rice/Object_defn.hpp +191 -0
- data/rice/Require_Guard.hpp +21 -0
- data/rice/String.cpp +94 -0
- data/rice/String.hpp +89 -0
- data/rice/Struct.cpp +117 -0
- data/rice/Struct.hpp +162 -0
- data/rice/Struct.ipp +26 -0
- data/rice/Symbol.cpp +25 -0
- data/rice/Symbol.hpp +66 -0
- data/rice/Symbol.ipp +44 -0
- data/rice/VM.cpp +92 -0
- data/rice/VM.hpp +32 -0
- data/rice/config.hpp.in +40 -0
- data/rice/detail/Arguments.hpp +118 -0
- data/rice/detail/Auto_Function_Wrapper.hpp +829 -0
- data/rice/detail/Auto_Function_Wrapper.ipp +3391 -0
- data/rice/detail/Auto_Member_Function_Wrapper.hpp +828 -0
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +2503 -0
- data/rice/detail/Caster.hpp +103 -0
- data/rice/detail/Exception_Handler.hpp +8 -0
- data/rice/detail/Exception_Handler.ipp +68 -0
- data/rice/detail/Exception_Handler_defn.hpp +96 -0
- data/rice/detail/Iterator.hpp +93 -0
- data/rice/detail/Not_Copyable.hpp +25 -0
- data/rice/detail/Wrapped_Function.hpp +33 -0
- data/rice/detail/cfp.hpp +24 -0
- data/rice/detail/cfp.ipp +51 -0
- data/rice/detail/check_ruby_type.cpp +27 -0
- data/rice/detail/check_ruby_type.hpp +23 -0
- data/rice/detail/creation_funcs.hpp +37 -0
- data/rice/detail/creation_funcs.ipp +36 -0
- data/rice/detail/default_allocation_func.hpp +23 -0
- data/rice/detail/default_allocation_func.ipp +11 -0
- data/rice/detail/define_method_and_auto_wrap.hpp +31 -0
- data/rice/detail/define_method_and_auto_wrap.ipp +30 -0
- data/rice/detail/demangle.cpp +56 -0
- data/rice/detail/demangle.hpp +19 -0
- data/rice/detail/env.hpp +19 -0
- data/rice/detail/from_ruby.hpp +43 -0
- data/rice/detail/from_ruby.ipp +60 -0
- data/rice/detail/method_data.cpp +159 -0
- data/rice/detail/method_data.hpp +21 -0
- data/rice/detail/mininode.cpp +1220 -0
- data/rice/detail/mininode.hpp +320 -0
- data/rice/detail/node.hpp +13 -0
- data/rice/detail/object_call.hpp +68 -0
- data/rice/detail/object_call.ipp +131 -0
- data/rice/detail/protect.cpp +29 -0
- data/rice/detail/protect.hpp +34 -0
- data/rice/detail/ruby.hpp +93 -0
- data/rice/detail/ruby_version_code.hpp.in +6 -0
- data/rice/detail/rubysig.hpp +19 -0
- data/rice/detail/st.hpp +60 -0
- data/rice/detail/to_ruby.hpp +22 -0
- data/rice/detail/to_ruby.ipp +36 -0
- data/rice/detail/traits.hpp +43 -0
- data/rice/detail/win32.hpp +16 -0
- data/rice/detail/wrap_function.hpp +341 -0
- data/rice/detail/wrap_function.ipp +514 -0
- data/rice/global_function.hpp +33 -0
- data/rice/global_function.ipp +22 -0
- data/rice/protect.hpp +91 -0
- data/rice/protect.ipp +1133 -0
- data/rice/ruby_mark.hpp +13 -0
- data/rice/ruby_try_catch.hpp +86 -0
- data/rice/rubypp.rb +97 -0
- data/rice/to_from_ruby.hpp +8 -0
- data/rice/to_from_ruby.ipp +297 -0
- data/rice/to_from_ruby_defn.hpp +71 -0
- data/ruby/Makefile.am +1 -0
- data/ruby/lib/Makefile.am +3 -0
- data/ruby/lib/mkmf-rice.rb.in +216 -0
- data/ruby/lib/version.rb +3 -0
- data/ruby.ac +136 -0
- data/sample/Makefile.am +47 -0
- data/sample/enum/extconf.rb +3 -0
- data/sample/enum/sample_enum.cpp +54 -0
- data/sample/enum/test.rb +8 -0
- data/sample/inheritance/animals.cpp +98 -0
- data/sample/inheritance/extconf.rb +3 -0
- data/sample/inheritance/test.rb +7 -0
- data/sample/map/extconf.rb +3 -0
- data/sample/map/map.cpp +81 -0
- data/sample/map/test.rb +7 -0
- data/test/Makefile.am +78 -0
- data/test/ext/Makefile.am +43 -0
- data/test/ext/t1/Foo.hpp +10 -0
- data/test/ext/t1/extconf.rb +2 -0
- data/test/ext/t1/t1.cpp +15 -0
- data/test/ext/t2/extconf.rb +2 -0
- data/test/ext/t2/t2.cpp +11 -0
- data/test/test_Address_Registration_Guard.cpp +43 -0
- data/test/test_Allocation_Strategies.cpp +77 -0
- data/test/test_Array.cpp +241 -0
- data/test/test_Builtin_Object.cpp +72 -0
- data/test/test_Class.cpp +498 -0
- data/test/test_Constructor.cpp +128 -0
- data/test/test_Critical_Guard.cpp +51 -0
- data/test/test_Data_Object.cpp +275 -0
- data/test/test_Data_Type.cpp +348 -0
- data/test/test_Director.cpp +301 -0
- data/test/test_Enum.cpp +195 -0
- data/test/test_Exception.cpp +46 -0
- data/test/test_Hash.cpp +195 -0
- data/test/test_Identifier.cpp +70 -0
- data/test/test_Jump_Tag.cpp +17 -0
- data/test/test_Memory_Management.cpp +50 -0
- data/test/test_Module.cpp +481 -0
- data/test/test_Object.cpp +148 -0
- data/test/test_String.cpp +94 -0
- data/test/test_Struct.cpp +192 -0
- data/test/test_Symbol.cpp +63 -0
- data/test/test_To_From_Ruby.cpp +263 -0
- data/test/test_VM.cpp +26 -0
- data/test/test_global_functions.cpp +114 -0
- data/test/test_rice.rb +43 -0
- data/test/unittest.cpp +136 -0
- data/test/unittest.hpp +292 -0
- metadata +276 -0
@@ -0,0 +1,514 @@
|
|
1
|
+
#ifndef Rice__detail__wrap_function__ipp_
|
2
|
+
#define Rice__detail__wrap_function__ipp_
|
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 "Auto_Function_Wrapper.hpp"
|
11
|
+
#include "Auto_Member_Function_Wrapper.hpp"
|
12
|
+
namespace Rice
|
13
|
+
{
|
14
|
+
|
15
|
+
namespace detail
|
16
|
+
{
|
17
|
+
|
18
|
+
template<typename Ret_T>
|
19
|
+
Wrapped_Function * wrap_function(
|
20
|
+
Ret_T (*func)(),
|
21
|
+
Data_Object<Exception_Handler> handler,
|
22
|
+
Arguments* arguments)
|
23
|
+
{
|
24
|
+
typedef Ret_T (*Func)();
|
25
|
+
return new Auto_Function_Wrapper<Func, Ret_T>(func, handler, arguments);
|
26
|
+
}
|
27
|
+
|
28
|
+
template<typename Ret_T, typename Arg0_T>
|
29
|
+
Wrapped_Function * wrap_function(
|
30
|
+
Ret_T (*func)(Arg0_T),
|
31
|
+
Data_Object<Exception_Handler> handler,
|
32
|
+
Arguments* arguments)
|
33
|
+
{
|
34
|
+
typedef Ret_T (*Func)(Arg0_T);
|
35
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T>(func, handler, arguments);
|
36
|
+
}
|
37
|
+
|
38
|
+
template<typename Ret_T, typename Self_T>
|
39
|
+
Wrapped_Function * wrap_function(
|
40
|
+
Ret_T (Self_T::*func)(),
|
41
|
+
Data_Object<Exception_Handler> handler,
|
42
|
+
Arguments* arguments)
|
43
|
+
{
|
44
|
+
typedef Ret_T (Self_T::*Func)();
|
45
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T>(func, handler, arguments);
|
46
|
+
}
|
47
|
+
|
48
|
+
template<typename Ret_T, typename Self_T>
|
49
|
+
Wrapped_Function * wrap_function(
|
50
|
+
Ret_T (Self_T::*func)() const,
|
51
|
+
Data_Object<Exception_Handler> handler,
|
52
|
+
Arguments* arguments)
|
53
|
+
{
|
54
|
+
typedef Ret_T (Self_T::*Func)() const;
|
55
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T>(func, handler, arguments);
|
56
|
+
}
|
57
|
+
|
58
|
+
// ---------------------------------------------------------------------
|
59
|
+
|
60
|
+
template<typename Ret_T, typename Arg0_T, typename Arg1_T>
|
61
|
+
Wrapped_Function * wrap_function(
|
62
|
+
Ret_T (*func)(Arg0_T, Arg1_T),
|
63
|
+
Data_Object<Exception_Handler> handler,
|
64
|
+
Arguments* arguments)
|
65
|
+
{
|
66
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T);
|
67
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T>(func, handler, arguments);
|
68
|
+
}
|
69
|
+
|
70
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T>
|
71
|
+
Wrapped_Function * wrap_function(
|
72
|
+
Ret_T (Self_T::*func)(Arg0_T),
|
73
|
+
Data_Object<Exception_Handler> handler,
|
74
|
+
Arguments* arguments)
|
75
|
+
{
|
76
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T);
|
77
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T>(func, handler, arguments);
|
78
|
+
}
|
79
|
+
|
80
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T>
|
81
|
+
Wrapped_Function * wrap_function(
|
82
|
+
Ret_T (Self_T::*func)(Arg0_T) const,
|
83
|
+
Data_Object<Exception_Handler> handler,
|
84
|
+
Arguments* arguments)
|
85
|
+
{
|
86
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T) const;
|
87
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T>(func, handler, arguments);
|
88
|
+
}
|
89
|
+
|
90
|
+
// ---------------------------------------------------------------------
|
91
|
+
|
92
|
+
template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
|
93
|
+
Wrapped_Function * wrap_function(
|
94
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T),
|
95
|
+
Data_Object<Exception_Handler> handler,
|
96
|
+
Arguments* arguments)
|
97
|
+
{
|
98
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T);
|
99
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T>(func, handler, arguments);
|
100
|
+
}
|
101
|
+
|
102
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T>
|
103
|
+
Wrapped_Function * wrap_function(
|
104
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T),
|
105
|
+
Data_Object<Exception_Handler> handler,
|
106
|
+
Arguments* arguments)
|
107
|
+
{
|
108
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T);
|
109
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T>(func, handler, arguments);
|
110
|
+
}
|
111
|
+
|
112
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T>
|
113
|
+
Wrapped_Function * wrap_function(
|
114
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T) const,
|
115
|
+
Data_Object<Exception_Handler> handler,
|
116
|
+
Arguments* arguments)
|
117
|
+
{
|
118
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T) const;
|
119
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T>(func, handler, arguments);
|
120
|
+
}
|
121
|
+
|
122
|
+
// ---------------------------------------------------------------------
|
123
|
+
|
124
|
+
template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
|
125
|
+
Wrapped_Function * wrap_function(
|
126
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T),
|
127
|
+
Data_Object<Exception_Handler> handler,
|
128
|
+
Arguments* arguments)
|
129
|
+
{
|
130
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T);
|
131
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T>(func, handler, arguments);
|
132
|
+
}
|
133
|
+
|
134
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
|
135
|
+
Wrapped_Function * wrap_function(
|
136
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T),
|
137
|
+
Data_Object<Exception_Handler> handler,
|
138
|
+
Arguments* arguments)
|
139
|
+
{
|
140
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T);
|
141
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T>(func, handler, arguments);
|
142
|
+
}
|
143
|
+
|
144
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
|
145
|
+
Wrapped_Function * wrap_function(
|
146
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T) const,
|
147
|
+
Data_Object<Exception_Handler> handler,
|
148
|
+
Arguments* arguments)
|
149
|
+
{
|
150
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T) const;
|
151
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T>(func, handler, arguments);
|
152
|
+
}
|
153
|
+
|
154
|
+
// ---------------------------------------------------------------------
|
155
|
+
|
156
|
+
template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
|
157
|
+
Wrapped_Function * wrap_function(
|
158
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T),
|
159
|
+
Data_Object<Exception_Handler> handler,
|
160
|
+
Arguments* arguments)
|
161
|
+
{
|
162
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T);
|
163
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T>(func, handler, arguments);
|
164
|
+
}
|
165
|
+
|
166
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
|
167
|
+
Wrapped_Function * wrap_function(
|
168
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T),
|
169
|
+
Data_Object<Exception_Handler> handler,
|
170
|
+
Arguments* arguments)
|
171
|
+
{
|
172
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T);
|
173
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T>(func, handler, arguments);
|
174
|
+
}
|
175
|
+
|
176
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
|
177
|
+
Wrapped_Function * wrap_function(
|
178
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T) const,
|
179
|
+
Data_Object<Exception_Handler> handler,
|
180
|
+
Arguments* arguments)
|
181
|
+
{
|
182
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T) const;
|
183
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T>(func, handler, arguments);
|
184
|
+
}
|
185
|
+
|
186
|
+
// ---------------------------------------------------------------------
|
187
|
+
|
188
|
+
template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
|
189
|
+
Wrapped_Function * wrap_function(
|
190
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T),
|
191
|
+
Data_Object<Exception_Handler> handler,
|
192
|
+
Arguments* arguments)
|
193
|
+
{
|
194
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T);
|
195
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T>(func, handler, arguments);
|
196
|
+
}
|
197
|
+
|
198
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
|
199
|
+
Wrapped_Function * wrap_function(
|
200
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T),
|
201
|
+
Data_Object<Exception_Handler> handler,
|
202
|
+
Arguments* arguments)
|
203
|
+
{
|
204
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T);
|
205
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T>(func, handler, arguments);
|
206
|
+
}
|
207
|
+
|
208
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
|
209
|
+
Wrapped_Function * wrap_function(
|
210
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T) const,
|
211
|
+
Data_Object<Exception_Handler> handler,
|
212
|
+
Arguments* arguments)
|
213
|
+
{
|
214
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T) const;
|
215
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T>(func, handler, arguments);
|
216
|
+
}
|
217
|
+
|
218
|
+
// ---------------------------------------------------------------------
|
219
|
+
|
220
|
+
template<typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T, typename Arg6_T>
|
221
|
+
Wrapped_Function * wrap_function(
|
222
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T),
|
223
|
+
Data_Object<Exception_Handler> handler,
|
224
|
+
Arguments* arguments)
|
225
|
+
{
|
226
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T);
|
227
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T>(func, handler, arguments);
|
228
|
+
}
|
229
|
+
|
230
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
|
231
|
+
Wrapped_Function * wrap_function(
|
232
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T),
|
233
|
+
Data_Object<Exception_Handler> handler,
|
234
|
+
Arguments* arguments)
|
235
|
+
{
|
236
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T);
|
237
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T>(func, handler, arguments);
|
238
|
+
}
|
239
|
+
|
240
|
+
template<typename Ret_T, typename Self_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
|
241
|
+
Wrapped_Function * wrap_function(
|
242
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T) const,
|
243
|
+
Data_Object<Exception_Handler> handler,
|
244
|
+
Arguments* arguments)
|
245
|
+
{
|
246
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T) const;
|
247
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T>(func, handler, arguments);
|
248
|
+
}
|
249
|
+
|
250
|
+
// ---------------------------------------------------------------------
|
251
|
+
|
252
|
+
template<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>
|
253
|
+
Wrapped_Function * wrap_function(
|
254
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T),
|
255
|
+
Data_Object<Exception_Handler> handler,
|
256
|
+
Arguments* arguments)
|
257
|
+
{
|
258
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T);
|
259
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T>(func, handler, arguments);
|
260
|
+
}
|
261
|
+
|
262
|
+
template<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>
|
263
|
+
Wrapped_Function * wrap_function(
|
264
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T),
|
265
|
+
Data_Object<Exception_Handler> handler,
|
266
|
+
Arguments* arguments)
|
267
|
+
{
|
268
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T);
|
269
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T>(func, handler, arguments);
|
270
|
+
}
|
271
|
+
|
272
|
+
template<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>
|
273
|
+
Wrapped_Function * wrap_function(
|
274
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T) const,
|
275
|
+
Data_Object<Exception_Handler> handler,
|
276
|
+
Arguments* arguments)
|
277
|
+
{
|
278
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T) const;
|
279
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T>(func, handler, arguments);
|
280
|
+
}
|
281
|
+
|
282
|
+
// ---------------------------------------------------------------------
|
283
|
+
|
284
|
+
template<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>
|
285
|
+
Wrapped_Function * wrap_function(
|
286
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T),
|
287
|
+
Data_Object<Exception_Handler> handler,
|
288
|
+
Arguments* arguments)
|
289
|
+
{
|
290
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T);
|
291
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T>(func, handler, arguments);
|
292
|
+
}
|
293
|
+
|
294
|
+
template<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>
|
295
|
+
Wrapped_Function * wrap_function(
|
296
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T),
|
297
|
+
Data_Object<Exception_Handler> handler,
|
298
|
+
Arguments* arguments)
|
299
|
+
{
|
300
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T);
|
301
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T>(func, handler, arguments);
|
302
|
+
}
|
303
|
+
|
304
|
+
template<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>
|
305
|
+
Wrapped_Function * wrap_function(
|
306
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T) const,
|
307
|
+
Data_Object<Exception_Handler> handler,
|
308
|
+
Arguments* arguments)
|
309
|
+
{
|
310
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T) const;
|
311
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T>(func, handler, arguments);
|
312
|
+
}
|
313
|
+
|
314
|
+
// ---------------------------------------------------------------------
|
315
|
+
|
316
|
+
template<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>
|
317
|
+
Wrapped_Function * wrap_function(
|
318
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T),
|
319
|
+
Data_Object<Exception_Handler> handler,
|
320
|
+
Arguments* arguments)
|
321
|
+
{
|
322
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T);
|
323
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T>(func, handler, arguments);
|
324
|
+
}
|
325
|
+
|
326
|
+
template<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>
|
327
|
+
Wrapped_Function * wrap_function(
|
328
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T),
|
329
|
+
Data_Object<Exception_Handler> handler,
|
330
|
+
Arguments* arguments)
|
331
|
+
{
|
332
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T);
|
333
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T>(func, handler, arguments);
|
334
|
+
}
|
335
|
+
|
336
|
+
template<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>
|
337
|
+
Wrapped_Function * wrap_function(
|
338
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T) const,
|
339
|
+
Data_Object<Exception_Handler> handler,
|
340
|
+
Arguments* arguments)
|
341
|
+
{
|
342
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T) const;
|
343
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T>(func, handler, arguments);
|
344
|
+
}
|
345
|
+
|
346
|
+
// ---------------------------------------------------------------------
|
347
|
+
|
348
|
+
template<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>
|
349
|
+
Wrapped_Function * wrap_function(
|
350
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T),
|
351
|
+
Data_Object<Exception_Handler> handler,
|
352
|
+
Arguments* arguments)
|
353
|
+
{
|
354
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T);
|
355
|
+
return new Auto_Function_Wrapper<Func, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T>(func, handler, arguments);
|
356
|
+
}
|
357
|
+
|
358
|
+
template<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>
|
359
|
+
Wrapped_Function * wrap_function(
|
360
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T),
|
361
|
+
Data_Object<Exception_Handler> handler,
|
362
|
+
Arguments* arguments)
|
363
|
+
{
|
364
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T);
|
365
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T>(func, handler, arguments);
|
366
|
+
}
|
367
|
+
|
368
|
+
template<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>
|
369
|
+
Wrapped_Function * wrap_function(
|
370
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T) const,
|
371
|
+
Data_Object<Exception_Handler> handler,
|
372
|
+
Arguments* arguments)
|
373
|
+
{
|
374
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T) const;
|
375
|
+
return new Auto_Member_Function_Wrapper<Func, Ret_T, Self_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T>(func, handler, arguments);
|
376
|
+
}
|
377
|
+
|
378
|
+
// ---------------------------------------------------------------------
|
379
|
+
|
380
|
+
template<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>
|
381
|
+
Wrapped_Function * wrap_function(
|
382
|
+
Ret_T (*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T),
|
383
|
+
Data_Object<Exception_Handler> handler,
|
384
|
+
Arguments* arguments)
|
385
|
+
{
|
386
|
+
typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T);
|
387
|
+
return new Auto_Function_Wrapper<Func, 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>(func, handler, arguments);
|
388
|
+
}
|
389
|
+
|
390
|
+
template<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>
|
391
|
+
Wrapped_Function * wrap_function(
|
392
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T),
|
393
|
+
Data_Object<Exception_Handler> handler,
|
394
|
+
Arguments* arguments)
|
395
|
+
{
|
396
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T);
|
397
|
+
return new Auto_Member_Function_Wrapper<Func, 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>(func, handler, arguments);
|
398
|
+
}
|
399
|
+
|
400
|
+
template<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>
|
401
|
+
Wrapped_Function * wrap_function(
|
402
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T) const,
|
403
|
+
Data_Object<Exception_Handler> handler,
|
404
|
+
Arguments* arguments)
|
405
|
+
{
|
406
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T) const;
|
407
|
+
return new Auto_Member_Function_Wrapper<Func, 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>(func, handler, arguments);
|
408
|
+
}
|
409
|
+
|
410
|
+
// ---------------------------------------------------------------------
|
411
|
+
|
412
|
+
template<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>
|
413
|
+
Wrapped_Function * wrap_function(
|
414
|
+
Ret_T (*func)(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),
|
415
|
+
Data_Object<Exception_Handler> handler,
|
416
|
+
Arguments* arguments)
|
417
|
+
{
|
418
|
+
typedef Ret_T (*Func)(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);
|
419
|
+
return new Auto_Function_Wrapper<Func, 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>(func, handler, arguments);
|
420
|
+
}
|
421
|
+
|
422
|
+
template<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>
|
423
|
+
Wrapped_Function * wrap_function(
|
424
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T),
|
425
|
+
Data_Object<Exception_Handler> handler,
|
426
|
+
Arguments* arguments)
|
427
|
+
{
|
428
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T);
|
429
|
+
return new Auto_Member_Function_Wrapper<Func, 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>(func, handler, arguments);
|
430
|
+
}
|
431
|
+
|
432
|
+
template<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>
|
433
|
+
Wrapped_Function * wrap_function(
|
434
|
+
Ret_T (Self_T::*func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T) const,
|
435
|
+
Data_Object<Exception_Handler> handler,
|
436
|
+
Arguments* arguments)
|
437
|
+
{
|
438
|
+
typedef Ret_T (Self_T::*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T, Arg11_T) const;
|
439
|
+
return new Auto_Member_Function_Wrapper<Func, 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>(func, handler, arguments);
|
440
|
+
}
|
441
|
+
|
442
|
+
// ---------------------------------------------------------------------
|
443
|
+
|
444
|
+
template<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>
|
445
|
+
Wrapped_Function * wrap_function(
|
446
|
+
Ret_T (*func)(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),
|
447
|
+
Data_Object<Exception_Handler> handler,
|
448
|
+
Arguments* arguments)
|
449
|
+
{
|
450
|
+
typedef Ret_T (*Func)(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);
|
451
|
+
return new Auto_Function_Wrapper<Func, 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>(func, handler, arguments);
|
452
|
+
}
|
453
|
+
|
454
|
+
template<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>
|
455
|
+
Wrapped_Function * wrap_function(
|
456
|
+
Ret_T (Self_T::*func)(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),
|
457
|
+
Data_Object<Exception_Handler> handler,
|
458
|
+
Arguments* arguments)
|
459
|
+
{
|
460
|
+
typedef Ret_T (Self_T::*Func)(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);
|
461
|
+
return new Auto_Member_Function_Wrapper<Func, 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>(func, handler, arguments);
|
462
|
+
}
|
463
|
+
|
464
|
+
template<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>
|
465
|
+
Wrapped_Function * wrap_function(
|
466
|
+
Ret_T (Self_T::*func)(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) const,
|
467
|
+
Data_Object<Exception_Handler> handler,
|
468
|
+
Arguments* arguments)
|
469
|
+
{
|
470
|
+
typedef Ret_T (Self_T::*Func)(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) const;
|
471
|
+
return new Auto_Member_Function_Wrapper<Func, 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>(func, handler, arguments);
|
472
|
+
}
|
473
|
+
|
474
|
+
// ---------------------------------------------------------------------
|
475
|
+
|
476
|
+
template<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>
|
477
|
+
Wrapped_Function * wrap_function(
|
478
|
+
Ret_T (*func)(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),
|
479
|
+
Data_Object<Exception_Handler> handler,
|
480
|
+
Arguments* arguments)
|
481
|
+
{
|
482
|
+
typedef Ret_T (*Func)(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);
|
483
|
+
return new Auto_Function_Wrapper<Func, 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>(func, handler, arguments);
|
484
|
+
}
|
485
|
+
|
486
|
+
template<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>
|
487
|
+
Wrapped_Function * wrap_function(
|
488
|
+
Ret_T (Self_T::*func)(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),
|
489
|
+
Data_Object<Exception_Handler> handler,
|
490
|
+
Arguments* arguments)
|
491
|
+
{
|
492
|
+
typedef Ret_T (Self_T::*Func)(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);
|
493
|
+
return new Auto_Member_Function_Wrapper<Func, 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>(func, handler, arguments);
|
494
|
+
}
|
495
|
+
|
496
|
+
template<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>
|
497
|
+
Wrapped_Function * wrap_function(
|
498
|
+
Ret_T (Self_T::*func)(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) const,
|
499
|
+
Data_Object<Exception_Handler> handler,
|
500
|
+
Arguments* arguments)
|
501
|
+
{
|
502
|
+
typedef Ret_T (Self_T::*Func)(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) const;
|
503
|
+
return new Auto_Member_Function_Wrapper<Func, 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>(func, handler, arguments);
|
504
|
+
}
|
505
|
+
|
506
|
+
// ---------------------------------------------------------------------
|
507
|
+
|
508
|
+
} // namespace detail
|
509
|
+
|
510
|
+
} // namespace Rice
|
511
|
+
|
512
|
+
|
513
|
+
#endif // Rice__detail__wrap_function__ipp_
|
514
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#ifndef Rice__global_function__hpp_
|
2
|
+
#define Rice__global_function__hpp_
|
3
|
+
|
4
|
+
#include "Arg.hpp"
|
5
|
+
|
6
|
+
namespace Rice
|
7
|
+
{
|
8
|
+
|
9
|
+
/**
|
10
|
+
* Helper forwarder method to easily wrap
|
11
|
+
* globally available functions. This simply
|
12
|
+
* forwards off a call to define_module_function
|
13
|
+
* on rb_mKernel
|
14
|
+
*/
|
15
|
+
template<typename Func_T>
|
16
|
+
void define_global_function(
|
17
|
+
char const * name,
|
18
|
+
Func_T func,
|
19
|
+
Arguments* arguments = 0);
|
20
|
+
|
21
|
+
// FIXME: See Module::define_method with Arg
|
22
|
+
template<typename Func_T>
|
23
|
+
void define_global_function(
|
24
|
+
char const * name,
|
25
|
+
Func_T func,
|
26
|
+
Arg const& arg);
|
27
|
+
|
28
|
+
|
29
|
+
} // Rice
|
30
|
+
|
31
|
+
#include "global_function.ipp"
|
32
|
+
|
33
|
+
#endif // Rice__global_function__hpp_
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#include "detail/define_method_and_auto_wrap.hpp"
|
2
|
+
|
3
|
+
template<typename Func_T>
|
4
|
+
void Rice::define_global_function(
|
5
|
+
char const * name,
|
6
|
+
Func_T func,
|
7
|
+
Arguments* arguments)
|
8
|
+
{
|
9
|
+
Module(rb_mKernel).define_module_function(name, func, arguments);
|
10
|
+
}
|
11
|
+
|
12
|
+
template<typename Func_T>
|
13
|
+
void Rice::define_global_function(
|
14
|
+
char const * name,
|
15
|
+
Func_T func,
|
16
|
+
Arg const& arg)
|
17
|
+
{
|
18
|
+
Arguments* args = new Arguments();
|
19
|
+
args->add(arg);
|
20
|
+
define_global_function(name, func, args);
|
21
|
+
}
|
22
|
+
|
data/rice/protect.hpp
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
#ifndef Rice__protect__hpp_
|
2
|
+
#define Rice__protect__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 "Object_defn.hpp"
|
11
|
+
namespace Rice
|
12
|
+
{
|
13
|
+
|
14
|
+
#ifdef DOXYGEN
|
15
|
+
/*! \file
|
16
|
+
* \brief A collection of functions (overloaded on number of
|
17
|
+
* arguments) for calling C functions that might raise Ruby exceptions.
|
18
|
+
*/
|
19
|
+
|
20
|
+
//! Call the C function f with arguments (arg1, arg2, ...).
|
21
|
+
/*! E.g.:
|
22
|
+
* \code
|
23
|
+
* VALUE x = protect(rb_ary_new);
|
24
|
+
* protect(rb_ary_push, x, INT2NUM(42));
|
25
|
+
* \endcode
|
26
|
+
*
|
27
|
+
* Note that this function makes copies of all of its arguments; it
|
28
|
+
* does not take anything by reference. All of the copies are const so
|
29
|
+
* that protect will not work if f takes a non-const
|
30
|
+
* reference to any of its arguments (though you can use non-const
|
31
|
+
* pointers).
|
32
|
+
*/
|
33
|
+
VALUE protect(Function f, T1 arg1, T2 arg2, ...);
|
34
|
+
#else
|
35
|
+
|
36
|
+
template<typename Fun>
|
37
|
+
VALUE protect(Fun fun);
|
38
|
+
|
39
|
+
template<typename Fun, typename T0>
|
40
|
+
VALUE protect(Fun fun, T0 const & t0);
|
41
|
+
|
42
|
+
template<typename Fun, typename T0, typename T1>
|
43
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1);
|
44
|
+
|
45
|
+
template<typename Fun, typename T0, typename T1, typename T2>
|
46
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2);
|
47
|
+
|
48
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3>
|
49
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3);
|
50
|
+
|
51
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4>
|
52
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4);
|
53
|
+
|
54
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
|
55
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5);
|
56
|
+
|
57
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
|
58
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6);
|
59
|
+
|
60
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
|
61
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6, T7 const & t7);
|
62
|
+
|
63
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
|
64
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6, T7 const & t7, T8 const & t8);
|
65
|
+
|
66
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
|
67
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6, T7 const & t7, T8 const & t8, T9 const & t9);
|
68
|
+
|
69
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
|
70
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6, T7 const & t7, T8 const & t8, T9 const & t9, T10 const & t10);
|
71
|
+
|
72
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
|
73
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6, T7 const & t7, T8 const & t8, T9 const & t9, T10 const & t10, T11 const & t11);
|
74
|
+
|
75
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12>
|
76
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6, T7 const & t7, T8 const & t8, T9 const & t9, T10 const & t10, T11 const & t11, T12 const & t12);
|
77
|
+
|
78
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13>
|
79
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6, T7 const & t7, T8 const & t8, T9 const & t9, T10 const & t10, T11 const & t11, T12 const & t12, T13 const & t13);
|
80
|
+
|
81
|
+
template<typename Fun, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14>
|
82
|
+
VALUE protect(Fun fun, T0 const & t0, T1 const & t1, T2 const & t2, T3 const & t3, T4 const & t4, T5 const & t5, T6 const & t6, T7 const & t7, T8 const & t8, T9 const & t9, T10 const & t10, T11 const & t11, T12 const & t12, T13 const & t13, T14 const & t14);
|
83
|
+
|
84
|
+
#endif // DOXYGEN
|
85
|
+
|
86
|
+
} // namespace Rice
|
87
|
+
|
88
|
+
#include "protect.ipp"
|
89
|
+
|
90
|
+
#endif // Rice__protect__hpp_
|
91
|
+
|