rice2 2.2.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.
- checksums.yaml +7 -0
- data/COPYING +23 -0
- data/Doxyfile +2268 -0
- data/Makefile.am +26 -0
- data/Makefile.in +929 -0
- data/README.md +1054 -0
- data/README.mingw +8 -0
- data/Rakefile +24 -0
- data/aclocal.m4 +1090 -0
- data/bootstrap +8 -0
- data/config.guess +1667 -0
- data/config.sub +1793 -0
- data/configure +8209 -0
- data/configure.ac +55 -0
- data/depcomp +791 -0
- data/doxygen.ac +314 -0
- data/doxygen.am +186 -0
- data/extconf.rb +66 -0
- data/install-sh +529 -0
- data/missing +215 -0
- data/post-autoconf.rb +22 -0
- data/post-automake.rb +28 -0
- data/rice/Address_Registration_Guard.cpp +22 -0
- data/rice/Address_Registration_Guard.hpp +7 -0
- data/rice/Address_Registration_Guard.ipp +37 -0
- data/rice/Address_Registration_Guard_defn.hpp +75 -0
- data/rice/Arg.hpp +8 -0
- data/rice/Arg_impl.hpp +129 -0
- data/rice/Arg_operators.cpp +21 -0
- data/rice/Arg_operators.hpp +19 -0
- data/rice/Array.hpp +214 -0
- data/rice/Array.ipp +256 -0
- data/rice/Builtin_Object.hpp +8 -0
- data/rice/Builtin_Object.ipp +50 -0
- data/rice/Builtin_Object_defn.hpp +50 -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 +47 -0
- data/rice/Data_Object.hpp +8 -0
- data/rice/Data_Object.ipp +133 -0
- data/rice/Data_Object_defn.hpp +138 -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 +13 -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 +227 -0
- data/rice/Hash.ipp +329 -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 +122 -0
- data/rice/Makefile.in +885 -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 +345 -0
- data/rice/Object.cpp +169 -0
- data/rice/Object.hpp +8 -0
- data/rice/Object.ipp +33 -0
- data/rice/Object_defn.hpp +214 -0
- data/rice/Require_Guard.hpp +21 -0
- data/rice/String.cpp +94 -0
- data/rice/String.hpp +91 -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/config.hpp +47 -0
- data/rice/config.hpp.in +46 -0
- data/rice/detail/Arguments.hpp +118 -0
- data/rice/detail/Auto_Function_Wrapper.hpp +898 -0
- data/rice/detail/Auto_Function_Wrapper.ipp +3694 -0
- data/rice/detail/Auto_Member_Function_Wrapper.hpp +897 -0
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +2774 -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 +11 -0
- data/rice/detail/from_ruby.hpp +43 -0
- data/rice/detail/from_ruby.ipp +60 -0
- data/rice/detail/method_data.cpp +92 -0
- data/rice/detail/method_data.hpp +21 -0
- data/rice/detail/node.hpp +13 -0
- data/rice/detail/protect.cpp +29 -0
- data/rice/detail/protect.hpp +34 -0
- data/rice/detail/ruby.hpp +74 -0
- data/rice/detail/ruby_version_code.hpp +6 -0
- data/rice/detail/ruby_version_code.hpp.in +6 -0
- data/rice/detail/st.hpp +22 -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 +66 -0
- data/rice/global_function.hpp +33 -0
- data/rice/global_function.ipp +22 -0
- data/rice/protect.hpp +38 -0
- data/rice/protect.ipp +1134 -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 +418 -0
- data/rice/to_from_ruby_defn.hpp +70 -0
- data/ruby.ac +135 -0
- data/ruby/Makefile.am +1 -0
- data/ruby/Makefile.in +628 -0
- data/ruby/lib/Makefile.am +3 -0
- data/ruby/lib/Makefile.in +506 -0
- data/ruby/lib/mkmf-rice.rb.in +217 -0
- data/ruby/lib/version.rb +3 -0
- data/sample/Makefile.am +47 -0
- data/sample/Makefile.in +489 -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 +72 -0
- data/test/Makefile.in +1213 -0
- data/test/ext/Makefile.am +41 -0
- data/test/ext/Makefile.in +483 -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_Array.cpp +248 -0
- data/test/test_Builtin_Object.cpp +71 -0
- data/test/test_Class.cpp +496 -0
- data/test/test_Constructor.cpp +128 -0
- data/test/test_Data_Object.cpp +275 -0
- data/test/test_Data_Type.cpp +348 -0
- data/test/test_Director.cpp +308 -0
- data/test/test_Enum.cpp +215 -0
- data/test/test_Exception.cpp +47 -0
- data/test/test_Hash.cpp +212 -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 +497 -0
- data/test/test_Object.cpp +159 -0
- data/test/test_String.cpp +107 -0
- data/test/test_Struct.cpp +205 -0
- data/test/test_Symbol.cpp +63 -0
- data/test/test_To_From_Ruby.cpp +428 -0
- data/test/test_global_functions.cpp +114 -0
- data/test/test_rice.rb +41 -0
- data/test/unittest.cpp +136 -0
- data/test/unittest.hpp +294 -0
- metadata +297 -0
data/rice/config.hpp.in
ADDED
@@ -0,0 +1,46 @@
|
|
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
|
@@ -0,0 +1,118 @@
|
|
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(int 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_
|
@@ -0,0 +1,898 @@
|
|
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
|
+
|