rice 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +5 -5
  2. data/COPYING +2 -2
  3. data/Doxyfile +4 -16
  4. data/Makefile.am +2 -2
  5. data/Makefile.in +28 -17
  6. data/{README → README.md} +323 -328
  7. data/aclocal.m4 +104 -107
  8. data/ax_cxx_compile_stdcxx.m4 +951 -0
  9. data/configure +549 -238
  10. data/configure.ac +3 -3
  11. data/extconf.rb +11 -10
  12. data/rice/Array.hpp +16 -16
  13. data/rice/Array.ipp +11 -11
  14. data/rice/Class_defn.hpp +1 -0
  15. data/rice/Constructor.hpp +27 -371
  16. data/rice/Data_Object_defn.hpp +3 -3
  17. data/rice/Director.hpp +3 -3
  18. data/rice/Enum.ipp +1 -1
  19. data/rice/Exception.cpp +2 -7
  20. data/rice/Hash.hpp +8 -5
  21. data/rice/Hash.ipp +2 -2
  22. data/rice/Makefile.am +1 -4
  23. data/rice/Makefile.in +80 -35
  24. data/rice/Module_impl.ipp +1 -1
  25. data/rice/Object.cpp +1 -1
  26. data/rice/Object.ipp +15 -1
  27. data/rice/Object_defn.hpp +24 -1
  28. data/rice/String.cpp +2 -7
  29. data/rice/Struct.cpp +2 -2
  30. data/rice/Struct.hpp +1 -1
  31. data/rice/Struct.ipp +1 -1
  32. data/rice/config.hpp +2 -2
  33. data/rice/config.hpp.in +2 -2
  34. data/rice/detail/Arguments.hpp +1 -1
  35. data/rice/detail/Auto_Function_Wrapper.ipp +512 -1025
  36. data/rice/detail/Auto_Member_Function_Wrapper.ipp +272 -545
  37. data/rice/detail/Iterator.hpp +2 -2
  38. data/rice/detail/method_data.cpp +8 -2
  39. data/rice/detail/ruby.hpp +1 -4
  40. data/rice/detail/ruby_version_code.hpp +1 -1
  41. data/rice/detail/wrap_function.hpp +32 -307
  42. data/rice/protect.hpp +3 -57
  43. data/rice/to_from_ruby.ipp +128 -4
  44. data/ruby/Makefile.in +11 -8
  45. data/ruby/lib/Makefile.in +10 -7
  46. data/ruby/lib/version.rb +1 -1
  47. data/sample/Makefile.am +10 -4
  48. data/sample/Makefile.in +20 -11
  49. data/sample/callbacks/extconf.rb +3 -0
  50. data/sample/callbacks/sample_callbacks.cpp +38 -0
  51. data/sample/callbacks/test.rb +28 -0
  52. data/test/Makefile.am +1 -0
  53. data/test/Makefile.in +118 -49
  54. data/test/embed_ruby.cpp +21 -0
  55. data/test/embed_ruby.hpp +4 -0
  56. data/test/ext/Makefile.in +10 -7
  57. data/test/test_Address_Registration_Guard.cpp +2 -1
  58. data/test/test_Array.cpp +2 -1
  59. data/test/test_Builtin_Object.cpp +2 -1
  60. data/test/test_Class.cpp +7 -4
  61. data/test/test_Data_Object.cpp +2 -1
  62. data/test/test_Data_Type.cpp +2 -1
  63. data/test/test_Director.cpp +2 -1
  64. data/test/test_Enum.cpp +24 -3
  65. data/test/test_Exception.cpp +2 -1
  66. data/test/test_Hash.cpp +2 -1
  67. data/test/test_Identifier.cpp +2 -1
  68. data/test/test_Memory_Management.cpp +2 -1
  69. data/test/test_Module.cpp +2 -1
  70. data/test/test_Object.cpp +13 -1
  71. data/test/test_String.cpp +2 -1
  72. data/test/test_Struct.cpp +2 -1
  73. data/test/test_Symbol.cpp +2 -1
  74. data/test/test_To_From_Ruby.cpp +102 -1
  75. data/test/test_global_functions.cpp +2 -1
  76. data/test/test_rice.rb +4 -0
  77. data/test/unittest.cpp +35 -9
  78. metadata +72 -16
  79. data/check_stdcxx_11.ac +0 -142
  80. data/rice/detail/object_call.hpp +0 -69
  81. data/rice/detail/object_call.ipp +0 -131
  82. data/rice/detail/traits.hpp +0 -43
  83. data/rice/detail/wrap_function.ipp +0 -514
metadata CHANGED
@@ -1,16 +1,72 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rice
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Brannan
8
8
  - Jason Roelofs
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-01-12 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2021-01-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rake
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: minitest
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: mustache
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
14
70
  description: |
15
71
  Rice is a C++ interface to Ruby's C API. It provides a type-safe and
16
72
  exception-safe interface in order to make embedding Ruby and writing
@@ -24,18 +80,18 @@ executables: []
24
80
  extensions:
25
81
  - extconf.rb
26
82
  extra_rdoc_files:
27
- - README
83
+ - README.md
28
84
  files:
29
85
  - COPYING
30
86
  - Doxyfile
31
87
  - Makefile.am
32
88
  - Makefile.in
33
- - README
89
+ - README.md
34
90
  - README.mingw
35
91
  - Rakefile
36
92
  - aclocal.m4
93
+ - ax_cxx_compile_stdcxx.m4
37
94
  - bootstrap
38
- - check_stdcxx_11.ac
39
95
  - config.guess
40
96
  - config.sub
41
97
  - configure
@@ -143,8 +199,6 @@ files:
143
199
  - rice/detail/method_data.cpp
144
200
  - rice/detail/method_data.hpp
145
201
  - rice/detail/node.hpp
146
- - rice/detail/object_call.hpp
147
- - rice/detail/object_call.ipp
148
202
  - rice/detail/protect.cpp
149
203
  - rice/detail/protect.hpp
150
204
  - rice/detail/ruby.hpp
@@ -153,10 +207,8 @@ files:
153
207
  - rice/detail/st.hpp
154
208
  - rice/detail/to_ruby.hpp
155
209
  - rice/detail/to_ruby.ipp
156
- - rice/detail/traits.hpp
157
210
  - rice/detail/win32.hpp
158
211
  - rice/detail/wrap_function.hpp
159
- - rice/detail/wrap_function.ipp
160
212
  - rice/global_function.hpp
161
213
  - rice/global_function.ipp
162
214
  - rice/protect.hpp
@@ -176,6 +228,9 @@ files:
176
228
  - ruby/lib/version.rb
177
229
  - sample/Makefile.am
178
230
  - sample/Makefile.in
231
+ - sample/callbacks/extconf.rb
232
+ - sample/callbacks/sample_callbacks.cpp
233
+ - sample/callbacks/test.rb
179
234
  - sample/enum/extconf.rb
180
235
  - sample/enum/sample_enum.cpp
181
236
  - sample/enum/test.rb
@@ -187,6 +242,8 @@ files:
187
242
  - sample/map/test.rb
188
243
  - test/Makefile.am
189
244
  - test/Makefile.in
245
+ - test/embed_ruby.cpp
246
+ - test/embed_ruby.hpp
190
247
  - test/ext/Makefile.am
191
248
  - test/ext/Makefile.in
192
249
  - test/ext/t1/Foo.hpp
@@ -222,7 +279,7 @@ homepage: https://github.com/jasonroelofs/rice
222
279
  licenses:
223
280
  - MIT
224
281
  metadata: {}
225
- post_install_message:
282
+ post_install_message:
226
283
  rdoc_options: []
227
284
  require_paths:
228
285
  - ruby/lib
@@ -230,16 +287,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
230
287
  requirements:
231
288
  - - ">="
232
289
  - !ruby/object:Gem::Version
233
- version: '0'
290
+ version: '2.4'
234
291
  required_rubygems_version: !ruby/object:Gem::Requirement
235
292
  requirements:
236
293
  - - ">="
237
294
  - !ruby/object:Gem::Version
238
295
  version: '0'
239
296
  requirements: []
240
- rubyforge_project:
241
- rubygems_version: 2.4.8
242
- signing_key:
297
+ rubygems_version: 3.2.3
298
+ signing_key:
243
299
  specification_version: 4
244
300
  summary: Ruby Interface for C++ Extensions
245
301
  test_files:
@@ -1,142 +0,0 @@
1
- # ============================================================================
2
- # http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
3
- # ============================================================================
4
- #
5
- # SYNOPSIS
6
- #
7
- # AX_CXX_COMPILE_STDCXX_11([ext|noext],[mandatory|optional])
8
- #
9
- # DESCRIPTION
10
- #
11
- # Check for baseline language coverage in the compiler for the C++11
12
- # standard; if necessary, add switches to CXXFLAGS to enable support.
13
- #
14
- # The first argument, if specified, indicates whether you insist on an
15
- # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
16
- # -std=c++11). If neither is specified, you get whatever works, with
17
- # preference for an extended mode.
18
- #
19
- # The second argument, if specified 'mandatory' or if left unspecified,
20
- # indicates that baseline C++11 support is required and that the macro
21
- # should error out if no mode with that support is found. If specified
22
- # 'optional', then configuration proceeds regardless, after defining
23
- # HAVE_CXX11 if and only if a supporting mode is found.
24
- #
25
- # LICENSE
26
- #
27
- # Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
28
- # Copyright (c) 2012 Zack Weinberg <zackw@panix.com>
29
- # Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu>
30
- # Copyright (c) 2014 Alexey Sokolov <sokolov@google.com>
31
- #
32
- # Copying and distribution of this file, with or without modification, are
33
- # permitted in any medium without royalty provided the copyright notice
34
- # and this notice are preserved. This file is offered as-is, without any
35
- # warranty.
36
-
37
- #serial 4
38
-
39
- m4_define([_AX_CXX_COMPILE_STDCXX_11_testbody], [[
40
- template <typename T>
41
- struct check
42
- {
43
- static_assert(sizeof(int) <= sizeof(T), "not big enough");
44
- };
45
-
46
- struct Base {
47
- virtual void f() {}
48
- };
49
- struct Child : public Base {
50
- virtual void f() override {}
51
- };
52
-
53
- typedef check<check<bool>> right_angle_brackets;
54
-
55
- int a;
56
- decltype(a) b;
57
-
58
- typedef check<int> check_type;
59
- check_type c;
60
- check_type&& cr = static_cast<check_type&&>(c);
61
-
62
- auto d = a;
63
- auto l = [](){};
64
- ]])
65
-
66
- AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [dnl
67
- m4_if([$1], [], [],
68
- [$1], [ext], [],
69
- [$1], [noext], [],
70
- [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_11])])dnl
71
- m4_if([$2], [], [ax_cxx_compile_cxx11_required=true],
72
- [$2], [mandatory], [ax_cxx_compile_cxx11_required=true],
73
- [$2], [optional], [ax_cxx_compile_cxx11_required=false],
74
- [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_11])])
75
- AC_LANG_PUSH([C++])dnl
76
- ac_success=no
77
- AC_CACHE_CHECK(whether $CXX supports C++11 features by default,
78
- ax_cv_cxx_compile_cxx11,
79
- [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
80
- [ax_cv_cxx_compile_cxx11=yes],
81
- [ax_cv_cxx_compile_cxx11=no])])
82
- if test x$ax_cv_cxx_compile_cxx11 = xyes; then
83
- ac_success=yes
84
- fi
85
-
86
- m4_if([$1], [noext], [], [dnl
87
- if test x$ac_success = xno; then
88
- for switch in -std=gnu++11 -std=gnu++0x; do
89
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
90
- AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
91
- $cachevar,
92
- [ac_save_CXXFLAGS="$CXXFLAGS"
93
- CXXFLAGS="$CXXFLAGS $switch"
94
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
95
- [eval $cachevar=yes],
96
- [eval $cachevar=no])
97
- CXXFLAGS="$ac_save_CXXFLAGS"])
98
- if eval test x\$$cachevar = xyes; then
99
- CXXFLAGS="$CXXFLAGS $switch"
100
- ac_success=yes
101
- break
102
- fi
103
- done
104
- fi])
105
-
106
- m4_if([$1], [ext], [], [dnl
107
- if test x$ac_success = xno; then
108
- for switch in -std=c++11 -std=c++0x; do
109
- cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx11_$switch])
110
- AC_CACHE_CHECK(whether $CXX supports C++11 features with $switch,
111
- $cachevar,
112
- [ac_save_CXXFLAGS="$CXXFLAGS"
113
- CXXFLAGS="$CXXFLAGS $switch"
114
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_11_testbody])],
115
- [eval $cachevar=yes],
116
- [eval $cachevar=no])
117
- CXXFLAGS="$ac_save_CXXFLAGS"])
118
- if eval test x\$$cachevar = xyes; then
119
- CXXFLAGS="$CXXFLAGS $switch"
120
- ac_success=yes
121
- break
122
- fi
123
- done
124
- fi])
125
- AC_LANG_POP([C++])
126
- if test x$ax_cxx_compile_cxx11_required = xtrue; then
127
- if test x$ac_success = xno; then
128
- AC_MSG_ERROR([*** A compiler with support for C++11 language features is required.])
129
- fi
130
- else
131
- if test x$ac_success = xno; then
132
- HAVE_CXX11=0
133
- AC_MSG_NOTICE([No compiler with C++11 support was found])
134
- else
135
- HAVE_CXX11=1
136
- AC_DEFINE(HAVE_CXX11,1,
137
- [define if the compiler supports basic C++11 syntax])
138
- fi
139
-
140
- AC_SUBST(HAVE_CXX11)
141
- fi
142
- ])
@@ -1,69 +0,0 @@
1
- // This is a generated file. DO NOT EDIT!!
2
- #ifdef DOXYGEN
3
-
4
- //! Call the Ruby method specified by 'id' on object 'obj'.
5
- /*! Pass in arguments (arg1, arg2, ...). The arguments will be converted to
6
- * Ruby objects with to_ruby<>. The return value will automatically be
7
- * converted to type Retval_T with from_ruby<>.
8
- *
9
- * E.g.:
10
- * \code
11
- * float y = x.call<float>("foo", z, 42);
12
- * \endcode
13
- */
14
- template<typename Retval_T>
15
- Retval_T call(Identifier id, T1 arg1, T2 arg2, ...) const;
16
-
17
- //! Version of call which defaults to Object return type.
18
- Object call(Identifier id, T1 arg1, T2 arg2, ...) const;
19
- #else
20
-
21
- Object call(Identifier id) const;
22
-
23
- template<typename T0>
24
- Object call(Identifier id, T0 arg0) const;
25
-
26
- template<typename T0, typename T1>
27
- Object call(Identifier id, T0 arg0, T1 arg1) const;
28
-
29
- template<typename T0, typename T1, typename T2>
30
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2) const;
31
-
32
- template<typename T0, typename T1, typename T2, typename T3>
33
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3) const;
34
-
35
- template<typename T0, typename T1, typename T2, typename T3, typename T4>
36
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) const;
37
-
38
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
39
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) const;
40
-
41
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
42
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) const;
43
-
44
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
45
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) const;
46
-
47
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
48
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) const;
49
-
50
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
51
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) const;
52
-
53
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
54
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) const;
55
-
56
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
57
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) const;
58
-
59
- template<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>
60
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) const;
61
-
62
- template<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>
63
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) const;
64
-
65
- template<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>
66
- Object call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) const;
67
-
68
-
69
- #endif
@@ -1,131 +0,0 @@
1
- // This is a generated file. DO NOT EDIT!!
2
- #include "../protect.hpp"
3
- #include "../to_from_ruby.hpp"
4
-
5
- inline Rice::Object Rice::Object::
6
- call(Identifier id) const
7
- {
8
- VALUE args[] = { };
9
- return protect(rb_funcall2, value(), id, 0, args);
10
- }
11
-
12
- template<typename T0>
13
- inline Rice::Object Rice::Object::
14
- call(Identifier id, T0 arg0) const
15
- {
16
- VALUE args[] = { to_ruby(arg0) };
17
- return protect(rb_funcall2, value(), id, 1, args);
18
- }
19
-
20
- template<typename T0, typename T1>
21
- inline Rice::Object Rice::Object::
22
- call(Identifier id, T0 arg0, T1 arg1) const
23
- {
24
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1) };
25
- return protect(rb_funcall2, value(), id, 2, args);
26
- }
27
-
28
- template<typename T0, typename T1, typename T2>
29
- inline Rice::Object Rice::Object::
30
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2) const
31
- {
32
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2) };
33
- return protect(rb_funcall2, value(), id, 3, args);
34
- }
35
-
36
- template<typename T0, typename T1, typename T2, typename T3>
37
- inline Rice::Object Rice::Object::
38
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3) const
39
- {
40
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3) };
41
- return protect(rb_funcall2, value(), id, 4, args);
42
- }
43
-
44
- template<typename T0, typename T1, typename T2, typename T3, typename T4>
45
- inline Rice::Object Rice::Object::
46
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4) const
47
- {
48
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4) };
49
- return protect(rb_funcall2, value(), id, 5, args);
50
- }
51
-
52
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
53
- inline Rice::Object Rice::Object::
54
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5) const
55
- {
56
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5) };
57
- return protect(rb_funcall2, value(), id, 6, args);
58
- }
59
-
60
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
61
- inline Rice::Object Rice::Object::
62
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6) const
63
- {
64
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6) };
65
- return protect(rb_funcall2, value(), id, 7, args);
66
- }
67
-
68
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
69
- inline Rice::Object Rice::Object::
70
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7) const
71
- {
72
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6), to_ruby(arg7) };
73
- return protect(rb_funcall2, value(), id, 8, args);
74
- }
75
-
76
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
77
- inline Rice::Object Rice::Object::
78
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8) const
79
- {
80
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6), to_ruby(arg7), to_ruby(arg8) };
81
- return protect(rb_funcall2, value(), id, 9, args);
82
- }
83
-
84
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
85
- inline Rice::Object Rice::Object::
86
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9) const
87
- {
88
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6), to_ruby(arg7), to_ruby(arg8), to_ruby(arg9) };
89
- return protect(rb_funcall2, value(), id, 10, args);
90
- }
91
-
92
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
93
- inline Rice::Object Rice::Object::
94
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10) const
95
- {
96
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6), to_ruby(arg7), to_ruby(arg8), to_ruby(arg9), to_ruby(arg10) };
97
- return protect(rb_funcall2, value(), id, 11, args);
98
- }
99
-
100
- template<typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
101
- inline Rice::Object Rice::Object::
102
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11) const
103
- {
104
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6), to_ruby(arg7), to_ruby(arg8), to_ruby(arg9), to_ruby(arg10), to_ruby(arg11) };
105
- return protect(rb_funcall2, value(), id, 12, args);
106
- }
107
-
108
- template<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>
109
- inline Rice::Object Rice::Object::
110
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12) const
111
- {
112
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6), to_ruby(arg7), to_ruby(arg8), to_ruby(arg9), to_ruby(arg10), to_ruby(arg11), to_ruby(arg12) };
113
- return protect(rb_funcall2, value(), id, 13, args);
114
- }
115
-
116
- template<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>
117
- inline Rice::Object Rice::Object::
118
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13) const
119
- {
120
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6), to_ruby(arg7), to_ruby(arg8), to_ruby(arg9), to_ruby(arg10), to_ruby(arg11), to_ruby(arg12), to_ruby(arg13) };
121
- return protect(rb_funcall2, value(), id, 14, args);
122
- }
123
-
124
- template<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>
125
- inline Rice::Object Rice::Object::
126
- call(Identifier id, T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14) const
127
- {
128
- VALUE args[] = { to_ruby(arg0), to_ruby(arg1), to_ruby(arg2), to_ruby(arg3), to_ruby(arg4), to_ruby(arg5), to_ruby(arg6), to_ruby(arg7), to_ruby(arg8), to_ruby(arg9), to_ruby(arg10), to_ruby(arg11), to_ruby(arg12), to_ruby(arg13), to_ruby(arg14) };
129
- return protect(rb_funcall2, value(), id, 15, args);
130
- }
131
-