rice 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/COPYING +23 -0
- data/Doxyfile +1253 -0
- data/Makefile.am +26 -0
- data/Makefile.in +736 -0
- data/README +881 -0
- data/README.mingw +8 -0
- data/bootstrap +8 -0
- data/config.guess +1535 -0
- data/config.sub +1644 -0
- data/configure +7310 -0
- data/configure.ac +48 -0
- data/depcomp +584 -0
- data/doxygen.ac +314 -0
- data/doxygen.am +186 -0
- data/install-sh +507 -0
- data/missing +367 -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/Array.hpp +220 -0
- data/rice/Array.ipp +262 -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 +4 -0
- data/rice/Class_defn.hpp +83 -0
- data/rice/Constructor.hpp +189 -0
- data/rice/Critical_Guard.hpp +34 -0
- data/rice/Critical_Guard.ipp +20 -0
- data/rice/Data_Object.hpp +127 -0
- data/rice/Data_Object.ipp +129 -0
- data/rice/Data_Type.cpp +21 -0
- data/rice/Data_Type.hpp +8 -0
- data/rice/Data_Type.ipp +227 -0
- data/rice/Data_Type_defn.hpp +219 -0
- data/rice/Data_Type_fwd.hpp +12 -0
- data/rice/Enum.hpp +118 -0
- data/rice/Enum.ipp +246 -0
- data/rice/Exception.cpp +59 -0
- data/rice/Exception.hpp +69 -0
- data/rice/Exception_Base.hpp +30 -0
- data/rice/Exception_Base.ipp +11 -0
- data/rice/Hash.hpp +206 -0
- data/rice/Hash.ipp +336 -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 +112 -0
- data/rice/Makefile.in +675 -0
- data/rice/Module.cpp +75 -0
- data/rice/Module.hpp +8 -0
- data/rice/Module.ipp +6 -0
- data/rice/Module_defn.hpp +87 -0
- data/rice/Module_impl.hpp +237 -0
- data/rice/Module_impl.ipp +302 -0
- data/rice/Object.cpp +153 -0
- data/rice/Object.hpp +8 -0
- data/rice/Object.ipp +19 -0
- data/rice/Object_defn.hpp +183 -0
- data/rice/Require_Guard.hpp +21 -0
- data/rice/String.cpp +93 -0
- data/rice/String.hpp +88 -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 +79 -0
- data/rice/VM.hpp +27 -0
- data/rice/config.hpp +23 -0
- data/rice/config.hpp.in +22 -0
- data/rice/detail/Auto_Function_Wrapper.hpp +719 -0
- data/rice/detail/Auto_Function_Wrapper.ipp +1354 -0
- data/rice/detail/Auto_Member_Function_Wrapper.hpp +685 -0
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +1435 -0
- data/rice/detail/Caster.hpp +61 -0
- data/rice/detail/Exception_Handler.hpp +118 -0
- data/rice/detail/Iterator_Definer.hpp +98 -0
- data/rice/detail/Not_Copyable.hpp +25 -0
- data/rice/detail/Wrapped_Function.hpp +33 -0
- data/rice/detail/check_ruby_type.cpp +21 -0
- data/rice/detail/check_ruby_type.hpp +23 -0
- data/rice/detail/creation_funcs.hpp +45 -0
- data/rice/detail/creation_funcs.ipp +62 -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 +27 -0
- data/rice/detail/define_method_and_auto_wrap.ipp +20 -0
- data/rice/detail/env.hpp +13 -0
- data/rice/detail/from_ruby.hpp +43 -0
- data/rice/detail/from_ruby.ipp +74 -0
- data/rice/detail/method_data.cpp +105 -0
- data/rice/detail/method_data.hpp +33 -0
- data/rice/detail/node.hpp +13 -0
- data/rice/detail/object_call.hpp +85 -0
- data/rice/detail/object_call.ipp +147 -0
- data/rice/detail/protect.cpp +27 -0
- data/rice/detail/protect.hpp +34 -0
- data/rice/detail/remove_const.hpp +21 -0
- data/rice/detail/ruby.hpp +85 -0
- data/rice/detail/rubysig.hpp +13 -0
- data/rice/detail/st.hpp +56 -0
- data/rice/detail/to_ruby.hpp +16 -0
- data/rice/detail/to_ruby.ipp +10 -0
- data/rice/detail/win32.hpp +16 -0
- data/rice/detail/wrap_function.hpp +288 -0
- data/rice/detail/wrap_function.ipp +473 -0
- data/rice/generate_code.rb +1092 -0
- data/rice/global_function.hpp +16 -0
- data/rice/global_function.ipp +11 -0
- data/rice/protect.hpp +91 -0
- data/rice/protect.ipp +803 -0
- data/rice/ruby_try_catch.hpp +86 -0
- data/rice/to_from_ruby.hpp +8 -0
- data/rice/to_from_ruby.ipp +299 -0
- data/rice/to_from_ruby_defn.hpp +71 -0
- data/ruby.ac +105 -0
- data/ruby/Makefile.am +1 -0
- data/ruby/Makefile.in +493 -0
- data/ruby/lib/Makefile.am +3 -0
- data/ruby/lib/Makefile.in +369 -0
- data/ruby/lib/mkmf-rice.rb.in +199 -0
- data/sample/Makefile.am +47 -0
- data/sample/Makefile.in +375 -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 +44 -0
- data/test/Makefile.in +575 -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 +350 -0
- data/test/test_Constructor.cpp +30 -0
- data/test/test_Critical_Guard.cpp +47 -0
- data/test/test_Data_Object.cpp +235 -0
- data/test/test_Enum.cpp +162 -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_Module.cpp +253 -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 +281 -0
- data/test/test_VM.cpp +26 -0
- data/test/test_rice.rb +30 -0
- data/test/unittest.cpp +136 -0
- data/test/unittest.hpp +292 -0
- metadata +209 -0
data/rice/Symbol.ipp
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#ifndef Rice__Symbol__ipp_
|
|
2
|
+
#define Rice__Symbol__ipp_
|
|
3
|
+
|
|
4
|
+
#include "protect.hpp"
|
|
5
|
+
#include "detail/ruby.hpp"
|
|
6
|
+
|
|
7
|
+
inline Rice::Symbol::
|
|
8
|
+
Symbol(char const * s)
|
|
9
|
+
: Object(ID2SYM(rb_intern(s)))
|
|
10
|
+
{
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
inline Rice::Symbol::
|
|
14
|
+
Symbol(std::string const & s)
|
|
15
|
+
: Object(ID2SYM(rb_intern(s.c_str())))
|
|
16
|
+
{
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
inline Rice::Symbol::
|
|
20
|
+
Symbol(Identifier id)
|
|
21
|
+
: Object(ID2SYM(id))
|
|
22
|
+
{
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
inline char const * Rice::Symbol::
|
|
26
|
+
c_str() const
|
|
27
|
+
{
|
|
28
|
+
return to_id().c_str();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
inline std::string Rice::Symbol::
|
|
32
|
+
str() const
|
|
33
|
+
{
|
|
34
|
+
return to_id().str();
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
inline Rice::Identifier Rice::Symbol::
|
|
38
|
+
to_id() const
|
|
39
|
+
{
|
|
40
|
+
return rb_to_id(value());
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
#endif // Rice__Symbol__ipp_
|
|
44
|
+
|
data/rice/VM.cpp
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#include "VM.hpp"
|
|
2
|
+
#include "detail/ruby.hpp"
|
|
3
|
+
#include "detail/env.hpp"
|
|
4
|
+
|
|
5
|
+
#include <stdexcept>
|
|
6
|
+
|
|
7
|
+
Rice::VM::
|
|
8
|
+
VM(char * app_name)
|
|
9
|
+
{
|
|
10
|
+
init_stack();
|
|
11
|
+
init(1, &app_name);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
Rice::VM::
|
|
15
|
+
VM(int argc, char * argv[])
|
|
16
|
+
{
|
|
17
|
+
init_stack();
|
|
18
|
+
init(argc, argv);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
Rice::VM::
|
|
22
|
+
VM(std::vector<char *> const & args)
|
|
23
|
+
{
|
|
24
|
+
check_not_initialized();
|
|
25
|
+
init_stack();
|
|
26
|
+
init(args.size(), const_cast<char * *>(&args[0]));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
Rice::VM::
|
|
30
|
+
~VM()
|
|
31
|
+
{
|
|
32
|
+
init_stack();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
#if RUBY_VERSION_CODE < 186
|
|
36
|
+
extern "C"
|
|
37
|
+
void Init_stack(VALUE *);
|
|
38
|
+
#endif
|
|
39
|
+
|
|
40
|
+
void Rice::VM::
|
|
41
|
+
init_stack()
|
|
42
|
+
{
|
|
43
|
+
#if RUBY_VERSION_CODE >= 186
|
|
44
|
+
RUBY_INIT_STACK;
|
|
45
|
+
#else
|
|
46
|
+
VALUE v;
|
|
47
|
+
Init_stack(&v);
|
|
48
|
+
#endif
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
void Rice::VM::
|
|
52
|
+
run()
|
|
53
|
+
{
|
|
54
|
+
ruby_run();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
extern "C"
|
|
58
|
+
{
|
|
59
|
+
|
|
60
|
+
RUBY_EXTERN VALUE * rb_gc_stack_start;
|
|
61
|
+
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
void Rice::VM::
|
|
65
|
+
check_not_initialized() const
|
|
66
|
+
{
|
|
67
|
+
if(rb_gc_stack_start)
|
|
68
|
+
{
|
|
69
|
+
throw std::runtime_error("Only one VM allowed per application");
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
void Rice::VM::
|
|
74
|
+
init(int argc, char * argv[])
|
|
75
|
+
{
|
|
76
|
+
ruby_init();
|
|
77
|
+
ruby_options(argc, argv);
|
|
78
|
+
}
|
|
79
|
+
|
data/rice/VM.hpp
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#ifndef VM__hpp
|
|
2
|
+
#define VM__hpp
|
|
3
|
+
|
|
4
|
+
#include <vector>
|
|
5
|
+
|
|
6
|
+
namespace Rice
|
|
7
|
+
{
|
|
8
|
+
|
|
9
|
+
class VM
|
|
10
|
+
{
|
|
11
|
+
public:
|
|
12
|
+
VM(char * app_name);
|
|
13
|
+
VM(int argc, char * argv[]);
|
|
14
|
+
VM(std::vector<char *> const & args);
|
|
15
|
+
~VM();
|
|
16
|
+
|
|
17
|
+
void init_stack();
|
|
18
|
+
void run();
|
|
19
|
+
|
|
20
|
+
private:
|
|
21
|
+
void check_not_initialized() const;
|
|
22
|
+
void init(int argc, char * argv[]);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#endif // VM__hpp
|
data/rice/config.hpp
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* rice/config.hpp. Generated from config.hpp.in by configure. */
|
|
2
|
+
/* rice/config.hpp.in. Generated from configure.ac by autoheader. */
|
|
3
|
+
|
|
4
|
+
/* Name of package */
|
|
5
|
+
#define PACKAGE "rice"
|
|
6
|
+
|
|
7
|
+
/* Define to the address where bug reports for this package should be sent. */
|
|
8
|
+
#define PACKAGE_BUGREPORT ""
|
|
9
|
+
|
|
10
|
+
/* Define to the full name of this package. */
|
|
11
|
+
#define PACKAGE_NAME "rice"
|
|
12
|
+
|
|
13
|
+
/* Define to the full name and version of this package. */
|
|
14
|
+
#define PACKAGE_STRING "rice 1.0"
|
|
15
|
+
|
|
16
|
+
/* Define to the one symbol short name of this package. */
|
|
17
|
+
#define PACKAGE_TARNAME "rice"
|
|
18
|
+
|
|
19
|
+
/* Define to the version of this package. */
|
|
20
|
+
#define PACKAGE_VERSION "1.0"
|
|
21
|
+
|
|
22
|
+
/* Version number of package */
|
|
23
|
+
#define VERSION "1.0"
|
data/rice/config.hpp.in
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* rice/config.hpp.in. Generated from configure.ac by autoheader. */
|
|
2
|
+
|
|
3
|
+
/* Name of package */
|
|
4
|
+
#undef PACKAGE
|
|
5
|
+
|
|
6
|
+
/* Define to the address where bug reports for this package should be sent. */
|
|
7
|
+
#undef PACKAGE_BUGREPORT
|
|
8
|
+
|
|
9
|
+
/* Define to the full name of this package. */
|
|
10
|
+
#undef PACKAGE_NAME
|
|
11
|
+
|
|
12
|
+
/* Define to the full name and version of this package. */
|
|
13
|
+
#undef PACKAGE_STRING
|
|
14
|
+
|
|
15
|
+
/* Define to the one symbol short name of this package. */
|
|
16
|
+
#undef PACKAGE_TARNAME
|
|
17
|
+
|
|
18
|
+
/* Define to the version of this package. */
|
|
19
|
+
#undef PACKAGE_VERSION
|
|
20
|
+
|
|
21
|
+
/* Version number of package */
|
|
22
|
+
#undef VERSION
|
|
@@ -0,0 +1,719 @@
|
|
|
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.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 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, Arg15_T);
|
|
28
|
+
typedef Func_T Func;
|
|
29
|
+
|
|
30
|
+
static const int Num_Args = 15;
|
|
31
|
+
|
|
32
|
+
Auto_Function_Wrapper(
|
|
33
|
+
Func func,
|
|
34
|
+
Exception_Handler const * handler = 0);
|
|
35
|
+
|
|
36
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13, VALUE ruby_arg14, VALUE ruby_arg15);
|
|
37
|
+
|
|
38
|
+
private:
|
|
39
|
+
Func func_;
|
|
40
|
+
Exception_Handler const * handler_;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
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>
|
|
44
|
+
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>
|
|
45
|
+
: public Wrapped_Function
|
|
46
|
+
{
|
|
47
|
+
public:
|
|
48
|
+
// typedef void (*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, Arg15_T);
|
|
49
|
+
typedef Func_T Func;
|
|
50
|
+
|
|
51
|
+
static const int Num_Args = 15;
|
|
52
|
+
|
|
53
|
+
Auto_Function_Wrapper(
|
|
54
|
+
Func func,
|
|
55
|
+
Exception_Handler const * handler = 0);
|
|
56
|
+
|
|
57
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13, VALUE ruby_arg14, VALUE ruby_arg15);
|
|
58
|
+
|
|
59
|
+
private:
|
|
60
|
+
Func func_;
|
|
61
|
+
Exception_Handler const * handler_;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// ---------------------------------------------------------------------
|
|
65
|
+
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>
|
|
66
|
+
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>
|
|
67
|
+
: public Wrapped_Function
|
|
68
|
+
{
|
|
69
|
+
public:
|
|
70
|
+
// 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);
|
|
71
|
+
typedef Func_T Func;
|
|
72
|
+
|
|
73
|
+
static const int Num_Args = 14;
|
|
74
|
+
|
|
75
|
+
Auto_Function_Wrapper(
|
|
76
|
+
Func func,
|
|
77
|
+
Exception_Handler const * handler = 0);
|
|
78
|
+
|
|
79
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13, VALUE ruby_arg14);
|
|
80
|
+
|
|
81
|
+
private:
|
|
82
|
+
Func func_;
|
|
83
|
+
Exception_Handler const * handler_;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
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>
|
|
87
|
+
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>
|
|
88
|
+
: public Wrapped_Function
|
|
89
|
+
{
|
|
90
|
+
public:
|
|
91
|
+
// typedef void (*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);
|
|
92
|
+
typedef Func_T Func;
|
|
93
|
+
|
|
94
|
+
static const int Num_Args = 14;
|
|
95
|
+
|
|
96
|
+
Auto_Function_Wrapper(
|
|
97
|
+
Func func,
|
|
98
|
+
Exception_Handler const * handler = 0);
|
|
99
|
+
|
|
100
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13, VALUE ruby_arg14);
|
|
101
|
+
|
|
102
|
+
private:
|
|
103
|
+
Func func_;
|
|
104
|
+
Exception_Handler const * handler_;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// ---------------------------------------------------------------------
|
|
108
|
+
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>
|
|
109
|
+
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>
|
|
110
|
+
: public Wrapped_Function
|
|
111
|
+
{
|
|
112
|
+
public:
|
|
113
|
+
// 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);
|
|
114
|
+
typedef Func_T Func;
|
|
115
|
+
|
|
116
|
+
static const int Num_Args = 13;
|
|
117
|
+
|
|
118
|
+
Auto_Function_Wrapper(
|
|
119
|
+
Func func,
|
|
120
|
+
Exception_Handler const * handler = 0);
|
|
121
|
+
|
|
122
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13);
|
|
123
|
+
|
|
124
|
+
private:
|
|
125
|
+
Func func_;
|
|
126
|
+
Exception_Handler const * handler_;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
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>
|
|
130
|
+
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>
|
|
131
|
+
: public Wrapped_Function
|
|
132
|
+
{
|
|
133
|
+
public:
|
|
134
|
+
// typedef void (*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);
|
|
135
|
+
typedef Func_T Func;
|
|
136
|
+
|
|
137
|
+
static const int Num_Args = 13;
|
|
138
|
+
|
|
139
|
+
Auto_Function_Wrapper(
|
|
140
|
+
Func func,
|
|
141
|
+
Exception_Handler const * handler = 0);
|
|
142
|
+
|
|
143
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12, VALUE ruby_arg13);
|
|
144
|
+
|
|
145
|
+
private:
|
|
146
|
+
Func func_;
|
|
147
|
+
Exception_Handler const * handler_;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// ---------------------------------------------------------------------
|
|
151
|
+
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>
|
|
152
|
+
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>
|
|
153
|
+
: public Wrapped_Function
|
|
154
|
+
{
|
|
155
|
+
public:
|
|
156
|
+
// 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);
|
|
157
|
+
typedef Func_T Func;
|
|
158
|
+
|
|
159
|
+
static const int Num_Args = 12;
|
|
160
|
+
|
|
161
|
+
Auto_Function_Wrapper(
|
|
162
|
+
Func func,
|
|
163
|
+
Exception_Handler const * handler = 0);
|
|
164
|
+
|
|
165
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12);
|
|
166
|
+
|
|
167
|
+
private:
|
|
168
|
+
Func func_;
|
|
169
|
+
Exception_Handler const * handler_;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
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>
|
|
173
|
+
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>
|
|
174
|
+
: public Wrapped_Function
|
|
175
|
+
{
|
|
176
|
+
public:
|
|
177
|
+
// typedef void (*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);
|
|
178
|
+
typedef Func_T Func;
|
|
179
|
+
|
|
180
|
+
static const int Num_Args = 12;
|
|
181
|
+
|
|
182
|
+
Auto_Function_Wrapper(
|
|
183
|
+
Func func,
|
|
184
|
+
Exception_Handler const * handler = 0);
|
|
185
|
+
|
|
186
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11, VALUE ruby_arg12);
|
|
187
|
+
|
|
188
|
+
private:
|
|
189
|
+
Func func_;
|
|
190
|
+
Exception_Handler const * handler_;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
// ---------------------------------------------------------------------
|
|
194
|
+
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>
|
|
195
|
+
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>
|
|
196
|
+
: public Wrapped_Function
|
|
197
|
+
{
|
|
198
|
+
public:
|
|
199
|
+
// 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);
|
|
200
|
+
typedef Func_T Func;
|
|
201
|
+
|
|
202
|
+
static const int Num_Args = 11;
|
|
203
|
+
|
|
204
|
+
Auto_Function_Wrapper(
|
|
205
|
+
Func func,
|
|
206
|
+
Exception_Handler const * handler = 0);
|
|
207
|
+
|
|
208
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11);
|
|
209
|
+
|
|
210
|
+
private:
|
|
211
|
+
Func func_;
|
|
212
|
+
Exception_Handler const * handler_;
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
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>
|
|
216
|
+
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>
|
|
217
|
+
: public Wrapped_Function
|
|
218
|
+
{
|
|
219
|
+
public:
|
|
220
|
+
// typedef void (*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);
|
|
221
|
+
typedef Func_T Func;
|
|
222
|
+
|
|
223
|
+
static const int Num_Args = 11;
|
|
224
|
+
|
|
225
|
+
Auto_Function_Wrapper(
|
|
226
|
+
Func func,
|
|
227
|
+
Exception_Handler const * handler = 0);
|
|
228
|
+
|
|
229
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10, VALUE ruby_arg11);
|
|
230
|
+
|
|
231
|
+
private:
|
|
232
|
+
Func func_;
|
|
233
|
+
Exception_Handler const * handler_;
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
// ---------------------------------------------------------------------
|
|
237
|
+
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>
|
|
238
|
+
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>
|
|
239
|
+
: public Wrapped_Function
|
|
240
|
+
{
|
|
241
|
+
public:
|
|
242
|
+
// 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);
|
|
243
|
+
typedef Func_T Func;
|
|
244
|
+
|
|
245
|
+
static const int Num_Args = 10;
|
|
246
|
+
|
|
247
|
+
Auto_Function_Wrapper(
|
|
248
|
+
Func func,
|
|
249
|
+
Exception_Handler const * handler = 0);
|
|
250
|
+
|
|
251
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10);
|
|
252
|
+
|
|
253
|
+
private:
|
|
254
|
+
Func func_;
|
|
255
|
+
Exception_Handler const * handler_;
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
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>
|
|
259
|
+
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>
|
|
260
|
+
: public Wrapped_Function
|
|
261
|
+
{
|
|
262
|
+
public:
|
|
263
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T, Arg10_T);
|
|
264
|
+
typedef Func_T Func;
|
|
265
|
+
|
|
266
|
+
static const int Num_Args = 10;
|
|
267
|
+
|
|
268
|
+
Auto_Function_Wrapper(
|
|
269
|
+
Func func,
|
|
270
|
+
Exception_Handler const * handler = 0);
|
|
271
|
+
|
|
272
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9, VALUE ruby_arg10);
|
|
273
|
+
|
|
274
|
+
private:
|
|
275
|
+
Func func_;
|
|
276
|
+
Exception_Handler const * handler_;
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
// ---------------------------------------------------------------------
|
|
280
|
+
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>
|
|
281
|
+
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>
|
|
282
|
+
: public Wrapped_Function
|
|
283
|
+
{
|
|
284
|
+
public:
|
|
285
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T);
|
|
286
|
+
typedef Func_T Func;
|
|
287
|
+
|
|
288
|
+
static const int Num_Args = 9;
|
|
289
|
+
|
|
290
|
+
Auto_Function_Wrapper(
|
|
291
|
+
Func func,
|
|
292
|
+
Exception_Handler const * handler = 0);
|
|
293
|
+
|
|
294
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9);
|
|
295
|
+
|
|
296
|
+
private:
|
|
297
|
+
Func func_;
|
|
298
|
+
Exception_Handler const * handler_;
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
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>
|
|
302
|
+
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>
|
|
303
|
+
: public Wrapped_Function
|
|
304
|
+
{
|
|
305
|
+
public:
|
|
306
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T, Arg9_T);
|
|
307
|
+
typedef Func_T Func;
|
|
308
|
+
|
|
309
|
+
static const int Num_Args = 9;
|
|
310
|
+
|
|
311
|
+
Auto_Function_Wrapper(
|
|
312
|
+
Func func,
|
|
313
|
+
Exception_Handler const * handler = 0);
|
|
314
|
+
|
|
315
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8, VALUE ruby_arg9);
|
|
316
|
+
|
|
317
|
+
private:
|
|
318
|
+
Func func_;
|
|
319
|
+
Exception_Handler const * handler_;
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
// ---------------------------------------------------------------------
|
|
323
|
+
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>
|
|
324
|
+
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>
|
|
325
|
+
: public Wrapped_Function
|
|
326
|
+
{
|
|
327
|
+
public:
|
|
328
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T);
|
|
329
|
+
typedef Func_T Func;
|
|
330
|
+
|
|
331
|
+
static const int Num_Args = 8;
|
|
332
|
+
|
|
333
|
+
Auto_Function_Wrapper(
|
|
334
|
+
Func func,
|
|
335
|
+
Exception_Handler const * handler = 0);
|
|
336
|
+
|
|
337
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8);
|
|
338
|
+
|
|
339
|
+
private:
|
|
340
|
+
Func func_;
|
|
341
|
+
Exception_Handler const * handler_;
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
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>
|
|
345
|
+
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>
|
|
346
|
+
: public Wrapped_Function
|
|
347
|
+
{
|
|
348
|
+
public:
|
|
349
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T, Arg8_T);
|
|
350
|
+
typedef Func_T Func;
|
|
351
|
+
|
|
352
|
+
static const int Num_Args = 8;
|
|
353
|
+
|
|
354
|
+
Auto_Function_Wrapper(
|
|
355
|
+
Func func,
|
|
356
|
+
Exception_Handler const * handler = 0);
|
|
357
|
+
|
|
358
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7, VALUE ruby_arg8);
|
|
359
|
+
|
|
360
|
+
private:
|
|
361
|
+
Func func_;
|
|
362
|
+
Exception_Handler const * handler_;
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
// ---------------------------------------------------------------------
|
|
366
|
+
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>
|
|
367
|
+
class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T>
|
|
368
|
+
: public Wrapped_Function
|
|
369
|
+
{
|
|
370
|
+
public:
|
|
371
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T);
|
|
372
|
+
typedef Func_T Func;
|
|
373
|
+
|
|
374
|
+
static const int Num_Args = 7;
|
|
375
|
+
|
|
376
|
+
Auto_Function_Wrapper(
|
|
377
|
+
Func func,
|
|
378
|
+
Exception_Handler const * handler = 0);
|
|
379
|
+
|
|
380
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7);
|
|
381
|
+
|
|
382
|
+
private:
|
|
383
|
+
Func func_;
|
|
384
|
+
Exception_Handler const * handler_;
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
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>
|
|
388
|
+
class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T>
|
|
389
|
+
: public Wrapped_Function
|
|
390
|
+
{
|
|
391
|
+
public:
|
|
392
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T, Arg7_T);
|
|
393
|
+
typedef Func_T Func;
|
|
394
|
+
|
|
395
|
+
static const int Num_Args = 7;
|
|
396
|
+
|
|
397
|
+
Auto_Function_Wrapper(
|
|
398
|
+
Func func,
|
|
399
|
+
Exception_Handler const * handler = 0);
|
|
400
|
+
|
|
401
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6, VALUE ruby_arg7);
|
|
402
|
+
|
|
403
|
+
private:
|
|
404
|
+
Func func_;
|
|
405
|
+
Exception_Handler const * handler_;
|
|
406
|
+
};
|
|
407
|
+
|
|
408
|
+
// ---------------------------------------------------------------------
|
|
409
|
+
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>
|
|
410
|
+
class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T>
|
|
411
|
+
: public Wrapped_Function
|
|
412
|
+
{
|
|
413
|
+
public:
|
|
414
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T);
|
|
415
|
+
typedef Func_T Func;
|
|
416
|
+
|
|
417
|
+
static const int Num_Args = 6;
|
|
418
|
+
|
|
419
|
+
Auto_Function_Wrapper(
|
|
420
|
+
Func func,
|
|
421
|
+
Exception_Handler const * handler = 0);
|
|
422
|
+
|
|
423
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6);
|
|
424
|
+
|
|
425
|
+
private:
|
|
426
|
+
Func func_;
|
|
427
|
+
Exception_Handler const * handler_;
|
|
428
|
+
};
|
|
429
|
+
|
|
430
|
+
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>
|
|
431
|
+
class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T>
|
|
432
|
+
: public Wrapped_Function
|
|
433
|
+
{
|
|
434
|
+
public:
|
|
435
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T, Arg6_T);
|
|
436
|
+
typedef Func_T Func;
|
|
437
|
+
|
|
438
|
+
static const int Num_Args = 6;
|
|
439
|
+
|
|
440
|
+
Auto_Function_Wrapper(
|
|
441
|
+
Func func,
|
|
442
|
+
Exception_Handler const * handler = 0);
|
|
443
|
+
|
|
444
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5, VALUE ruby_arg6);
|
|
445
|
+
|
|
446
|
+
private:
|
|
447
|
+
Func func_;
|
|
448
|
+
Exception_Handler const * handler_;
|
|
449
|
+
};
|
|
450
|
+
|
|
451
|
+
// ---------------------------------------------------------------------
|
|
452
|
+
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>
|
|
453
|
+
class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T>
|
|
454
|
+
: public Wrapped_Function
|
|
455
|
+
{
|
|
456
|
+
public:
|
|
457
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T);
|
|
458
|
+
typedef Func_T Func;
|
|
459
|
+
|
|
460
|
+
static const int Num_Args = 5;
|
|
461
|
+
|
|
462
|
+
Auto_Function_Wrapper(
|
|
463
|
+
Func func,
|
|
464
|
+
Exception_Handler const * handler = 0);
|
|
465
|
+
|
|
466
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5);
|
|
467
|
+
|
|
468
|
+
private:
|
|
469
|
+
Func func_;
|
|
470
|
+
Exception_Handler const * handler_;
|
|
471
|
+
};
|
|
472
|
+
|
|
473
|
+
template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T, typename Arg5_T>
|
|
474
|
+
class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T>
|
|
475
|
+
: public Wrapped_Function
|
|
476
|
+
{
|
|
477
|
+
public:
|
|
478
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T, Arg5_T);
|
|
479
|
+
typedef Func_T Func;
|
|
480
|
+
|
|
481
|
+
static const int Num_Args = 5;
|
|
482
|
+
|
|
483
|
+
Auto_Function_Wrapper(
|
|
484
|
+
Func func,
|
|
485
|
+
Exception_Handler const * handler = 0);
|
|
486
|
+
|
|
487
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4, VALUE ruby_arg5);
|
|
488
|
+
|
|
489
|
+
private:
|
|
490
|
+
Func func_;
|
|
491
|
+
Exception_Handler const * handler_;
|
|
492
|
+
};
|
|
493
|
+
|
|
494
|
+
// ---------------------------------------------------------------------
|
|
495
|
+
template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
|
|
496
|
+
class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T>
|
|
497
|
+
: public Wrapped_Function
|
|
498
|
+
{
|
|
499
|
+
public:
|
|
500
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T);
|
|
501
|
+
typedef Func_T Func;
|
|
502
|
+
|
|
503
|
+
static const int Num_Args = 4;
|
|
504
|
+
|
|
505
|
+
Auto_Function_Wrapper(
|
|
506
|
+
Func func,
|
|
507
|
+
Exception_Handler const * handler = 0);
|
|
508
|
+
|
|
509
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4);
|
|
510
|
+
|
|
511
|
+
private:
|
|
512
|
+
Func func_;
|
|
513
|
+
Exception_Handler const * handler_;
|
|
514
|
+
};
|
|
515
|
+
|
|
516
|
+
template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T, typename Arg4_T>
|
|
517
|
+
class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T>
|
|
518
|
+
: public Wrapped_Function
|
|
519
|
+
{
|
|
520
|
+
public:
|
|
521
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T, Arg4_T);
|
|
522
|
+
typedef Func_T Func;
|
|
523
|
+
|
|
524
|
+
static const int Num_Args = 4;
|
|
525
|
+
|
|
526
|
+
Auto_Function_Wrapper(
|
|
527
|
+
Func func,
|
|
528
|
+
Exception_Handler const * handler = 0);
|
|
529
|
+
|
|
530
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3, VALUE ruby_arg4);
|
|
531
|
+
|
|
532
|
+
private:
|
|
533
|
+
Func func_;
|
|
534
|
+
Exception_Handler const * handler_;
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
// ---------------------------------------------------------------------
|
|
538
|
+
template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
|
|
539
|
+
class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T, Arg3_T>
|
|
540
|
+
: public Wrapped_Function
|
|
541
|
+
{
|
|
542
|
+
public:
|
|
543
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T);
|
|
544
|
+
typedef Func_T Func;
|
|
545
|
+
|
|
546
|
+
static const int Num_Args = 3;
|
|
547
|
+
|
|
548
|
+
Auto_Function_Wrapper(
|
|
549
|
+
Func func,
|
|
550
|
+
Exception_Handler const * handler = 0);
|
|
551
|
+
|
|
552
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3);
|
|
553
|
+
|
|
554
|
+
private:
|
|
555
|
+
Func func_;
|
|
556
|
+
Exception_Handler const * handler_;
|
|
557
|
+
};
|
|
558
|
+
|
|
559
|
+
template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T, typename Arg3_T>
|
|
560
|
+
class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T, Arg3_T>
|
|
561
|
+
: public Wrapped_Function
|
|
562
|
+
{
|
|
563
|
+
public:
|
|
564
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T, Arg3_T);
|
|
565
|
+
typedef Func_T Func;
|
|
566
|
+
|
|
567
|
+
static const int Num_Args = 3;
|
|
568
|
+
|
|
569
|
+
Auto_Function_Wrapper(
|
|
570
|
+
Func func,
|
|
571
|
+
Exception_Handler const * handler = 0);
|
|
572
|
+
|
|
573
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2, VALUE ruby_arg3);
|
|
574
|
+
|
|
575
|
+
private:
|
|
576
|
+
Func func_;
|
|
577
|
+
Exception_Handler const * handler_;
|
|
578
|
+
};
|
|
579
|
+
|
|
580
|
+
// ---------------------------------------------------------------------
|
|
581
|
+
template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
|
|
582
|
+
class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T, Arg2_T>
|
|
583
|
+
: public Wrapped_Function
|
|
584
|
+
{
|
|
585
|
+
public:
|
|
586
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T, Arg2_T);
|
|
587
|
+
typedef Func_T Func;
|
|
588
|
+
|
|
589
|
+
static const int Num_Args = 2;
|
|
590
|
+
|
|
591
|
+
Auto_Function_Wrapper(
|
|
592
|
+
Func func,
|
|
593
|
+
Exception_Handler const * handler = 0);
|
|
594
|
+
|
|
595
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2);
|
|
596
|
+
|
|
597
|
+
private:
|
|
598
|
+
Func func_;
|
|
599
|
+
Exception_Handler const * handler_;
|
|
600
|
+
};
|
|
601
|
+
|
|
602
|
+
template<typename Func_T, typename Arg0_T, typename Arg1_T, typename Arg2_T>
|
|
603
|
+
class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T, Arg2_T>
|
|
604
|
+
: public Wrapped_Function
|
|
605
|
+
{
|
|
606
|
+
public:
|
|
607
|
+
// typedef void (*Func)(Arg0_T, Arg1_T, Arg2_T);
|
|
608
|
+
typedef Func_T Func;
|
|
609
|
+
|
|
610
|
+
static const int Num_Args = 2;
|
|
611
|
+
|
|
612
|
+
Auto_Function_Wrapper(
|
|
613
|
+
Func func,
|
|
614
|
+
Exception_Handler const * handler = 0);
|
|
615
|
+
|
|
616
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1, VALUE ruby_arg2);
|
|
617
|
+
|
|
618
|
+
private:
|
|
619
|
+
Func func_;
|
|
620
|
+
Exception_Handler const * handler_;
|
|
621
|
+
};
|
|
622
|
+
|
|
623
|
+
// ---------------------------------------------------------------------
|
|
624
|
+
template<typename Func_T, typename Ret_T, typename Arg0_T, typename Arg1_T>
|
|
625
|
+
class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T, Arg1_T>
|
|
626
|
+
: public Wrapped_Function
|
|
627
|
+
{
|
|
628
|
+
public:
|
|
629
|
+
// typedef Ret_T (*Func)(Arg0_T, Arg1_T);
|
|
630
|
+
typedef Func_T Func;
|
|
631
|
+
|
|
632
|
+
static const int Num_Args = 1;
|
|
633
|
+
|
|
634
|
+
Auto_Function_Wrapper(
|
|
635
|
+
Func func,
|
|
636
|
+
Exception_Handler const * handler = 0);
|
|
637
|
+
|
|
638
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1);
|
|
639
|
+
|
|
640
|
+
private:
|
|
641
|
+
Func func_;
|
|
642
|
+
Exception_Handler const * handler_;
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
template<typename Func_T, typename Arg0_T, typename Arg1_T>
|
|
646
|
+
class Auto_Function_Wrapper<Func_T, void, Arg0_T, Arg1_T>
|
|
647
|
+
: public Wrapped_Function
|
|
648
|
+
{
|
|
649
|
+
public:
|
|
650
|
+
// typedef void (*Func)(Arg0_T, Arg1_T);
|
|
651
|
+
typedef Func_T Func;
|
|
652
|
+
|
|
653
|
+
static const int Num_Args = 1;
|
|
654
|
+
|
|
655
|
+
Auto_Function_Wrapper(
|
|
656
|
+
Func func,
|
|
657
|
+
Exception_Handler const * handler = 0);
|
|
658
|
+
|
|
659
|
+
static VALUE call(VALUE ruby_arg0, VALUE ruby_arg1);
|
|
660
|
+
|
|
661
|
+
private:
|
|
662
|
+
Func func_;
|
|
663
|
+
Exception_Handler const * handler_;
|
|
664
|
+
};
|
|
665
|
+
|
|
666
|
+
// ---------------------------------------------------------------------
|
|
667
|
+
template<typename Func_T, typename Ret_T, typename Arg0_T>
|
|
668
|
+
class Auto_Function_Wrapper<Func_T, Ret_T, Arg0_T>
|
|
669
|
+
: public Wrapped_Function
|
|
670
|
+
{
|
|
671
|
+
public:
|
|
672
|
+
// typedef Ret_T (*Func)(Arg0_T);
|
|
673
|
+
typedef Func_T Func;
|
|
674
|
+
|
|
675
|
+
static const int Num_Args = 0;
|
|
676
|
+
|
|
677
|
+
Auto_Function_Wrapper(
|
|
678
|
+
Func func,
|
|
679
|
+
Exception_Handler const * handler = 0);
|
|
680
|
+
|
|
681
|
+
static VALUE call(VALUE ruby_arg0);
|
|
682
|
+
|
|
683
|
+
private:
|
|
684
|
+
Func func_;
|
|
685
|
+
Exception_Handler const * handler_;
|
|
686
|
+
};
|
|
687
|
+
|
|
688
|
+
template<typename Func_T, typename Arg0_T>
|
|
689
|
+
class Auto_Function_Wrapper<Func_T, void, Arg0_T>
|
|
690
|
+
: public Wrapped_Function
|
|
691
|
+
{
|
|
692
|
+
public:
|
|
693
|
+
// typedef void (*Func)(Arg0_T);
|
|
694
|
+
typedef Func_T Func;
|
|
695
|
+
|
|
696
|
+
static const int Num_Args = 0;
|
|
697
|
+
|
|
698
|
+
Auto_Function_Wrapper(
|
|
699
|
+
Func func,
|
|
700
|
+
Exception_Handler const * handler = 0);
|
|
701
|
+
|
|
702
|
+
static VALUE call(VALUE ruby_arg0);
|
|
703
|
+
|
|
704
|
+
private:
|
|
705
|
+
Func func_;
|
|
706
|
+
Exception_Handler const * handler_;
|
|
707
|
+
};
|
|
708
|
+
|
|
709
|
+
// ---------------------------------------------------------------------
|
|
710
|
+
#endif // DOXYGEN
|
|
711
|
+
|
|
712
|
+
} // namespace detail
|
|
713
|
+
|
|
714
|
+
} // namespace Rice
|
|
715
|
+
|
|
716
|
+
#include "Auto_Function_Wrapper.ipp"
|
|
717
|
+
|
|
718
|
+
#endif // Rice__detail__Auto_Function_Wrapper__hpp_
|
|
719
|
+
|