rice 2.1.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +121 -0
  3. data/CONTRIBUTORS.md +19 -0
  4. data/COPYING +2 -2
  5. data/Gemfile +3 -0
  6. data/README.md +69 -0
  7. data/Rakefile +95 -12
  8. data/include/rice/rice.hpp +7766 -0
  9. data/lib/mkmf-rice.rb +127 -0
  10. data/lib/version.rb +3 -0
  11. data/rice/Address_Registration_Guard.ipp +75 -32
  12. data/rice/Address_Registration_Guard_defn.hpp +60 -56
  13. data/rice/Arg.hpp +80 -4
  14. data/rice/Arg.ipp +51 -0
  15. data/rice/Constructor.hpp +30 -376
  16. data/rice/Data_Object.ipp +234 -107
  17. data/rice/Data_Object_defn.hpp +77 -117
  18. data/rice/Data_Type.hpp +1 -2
  19. data/rice/Data_Type.ipp +251 -295
  20. data/rice/Data_Type_defn.hpp +175 -243
  21. data/rice/Director.hpp +14 -9
  22. data/rice/Enum.hpp +54 -104
  23. data/rice/Enum.ipp +104 -230
  24. data/rice/Exception.hpp +2 -8
  25. data/rice/Exception.ipp +65 -0
  26. data/rice/Exception_defn.hpp +46 -47
  27. data/rice/Identifier.hpp +28 -28
  28. data/rice/Identifier.ipp +23 -27
  29. data/rice/Return.hpp +39 -0
  30. data/rice/Return.ipp +33 -0
  31. data/rice/detail/Exception_Handler.ipp +22 -62
  32. data/rice/detail/Exception_Handler_defn.hpp +76 -91
  33. data/rice/detail/Iterator.hpp +18 -88
  34. data/rice/detail/Iterator.ipp +47 -0
  35. data/rice/detail/Jump_Tag.hpp +21 -0
  36. data/rice/detail/MethodInfo.hpp +44 -0
  37. data/rice/detail/MethodInfo.ipp +78 -0
  38. data/rice/detail/NativeAttribute.hpp +53 -0
  39. data/rice/detail/NativeAttribute.ipp +83 -0
  40. data/rice/detail/NativeFunction.hpp +69 -0
  41. data/rice/detail/NativeFunction.ipp +248 -0
  42. data/rice/detail/RubyFunction.hpp +39 -0
  43. data/rice/detail/RubyFunction.ipp +92 -0
  44. data/rice/detail/Type.hpp +29 -0
  45. data/rice/detail/Type.ipp +138 -0
  46. data/rice/detail/TypeRegistry.hpp +50 -0
  47. data/rice/detail/TypeRegistry.ipp +106 -0
  48. data/rice/detail/Wrapper.hpp +51 -0
  49. data/rice/detail/Wrapper.ipp +151 -0
  50. data/rice/detail/default_allocation_func.hpp +8 -19
  51. data/rice/detail/default_allocation_func.ipp +9 -8
  52. data/rice/detail/from_ruby.hpp +2 -37
  53. data/rice/detail/from_ruby.ipp +1020 -46
  54. data/rice/detail/from_ruby_defn.hpp +38 -0
  55. data/rice/detail/function_traits.hpp +124 -0
  56. data/rice/detail/method_data.hpp +23 -15
  57. data/rice/detail/method_data.ipp +53 -0
  58. data/rice/detail/rice_traits.hpp +116 -0
  59. data/rice/detail/ruby.hpp +9 -49
  60. data/rice/detail/to_ruby.hpp +3 -17
  61. data/rice/detail/to_ruby.ipp +409 -31
  62. data/rice/detail/to_ruby_defn.hpp +48 -0
  63. data/rice/forward_declares.ipp +82 -0
  64. data/rice/global_function.hpp +16 -20
  65. data/rice/global_function.ipp +8 -17
  66. data/rice/rice.hpp +59 -0
  67. data/rice/ruby_mark.hpp +5 -3
  68. data/rice/ruby_try_catch.hpp +4 -4
  69. data/rice/stl.hpp +11 -0
  70. data/sample/callbacks/extconf.rb +6 -0
  71. data/sample/callbacks/sample_callbacks.cpp +35 -0
  72. data/sample/callbacks/test.rb +28 -0
  73. data/sample/enum/extconf.rb +3 -0
  74. data/sample/enum/sample_enum.cpp +3 -17
  75. data/sample/enum/test.rb +2 -2
  76. data/sample/inheritance/animals.cpp +8 -24
  77. data/sample/inheritance/extconf.rb +3 -0
  78. data/sample/inheritance/test.rb +1 -1
  79. data/sample/map/extconf.rb +3 -0
  80. data/sample/map/map.cpp +10 -18
  81. data/sample/map/test.rb +1 -1
  82. data/test/embed_ruby.cpp +34 -0
  83. data/test/embed_ruby.hpp +4 -0
  84. data/test/ext/t1/extconf.rb +3 -0
  85. data/test/ext/t1/t1.cpp +1 -3
  86. data/test/ext/t2/extconf.rb +3 -0
  87. data/test/ext/t2/t2.cpp +1 -1
  88. data/test/extconf.rb +23 -0
  89. data/test/ruby/test_callbacks_sample.rb +28 -0
  90. data/test/ruby/test_multiple_extensions.rb +18 -0
  91. data/test/ruby/test_multiple_extensions_same_class.rb +14 -0
  92. data/test/ruby/test_multiple_extensions_with_inheritance.rb +20 -0
  93. data/test/test_Address_Registration_Guard.cpp +25 -11
  94. data/test/test_Array.cpp +131 -74
  95. data/test/test_Attribute.cpp +147 -0
  96. data/test/test_Builtin_Object.cpp +36 -15
  97. data/test/test_Class.cpp +151 -274
  98. data/test/test_Constructor.cpp +10 -9
  99. data/test/test_Data_Object.cpp +135 -193
  100. data/test/test_Data_Type.cpp +323 -252
  101. data/test/test_Director.cpp +56 -42
  102. data/test/test_Enum.cpp +230 -104
  103. data/test/test_Exception.cpp +7 -7
  104. data/test/test_Hash.cpp +33 -31
  105. data/test/test_Identifier.cpp +6 -6
  106. data/test/test_Inheritance.cpp +221 -0
  107. data/test/test_Iterator.cpp +161 -0
  108. data/test/test_Jump_Tag.cpp +1 -1
  109. data/test/test_Keep_Alive.cpp +161 -0
  110. data/test/test_Memory_Management.cpp +4 -5
  111. data/test/test_Module.cpp +169 -111
  112. data/test/test_Object.cpp +51 -19
  113. data/test/test_Ownership.cpp +275 -0
  114. data/test/test_Self.cpp +205 -0
  115. data/test/test_Stl_Optional.cpp +90 -0
  116. data/test/test_Stl_Pair.cpp +144 -0
  117. data/test/test_Stl_SmartPointer.cpp +200 -0
  118. data/test/test_Stl_String.cpp +74 -0
  119. data/test/test_Stl_Vector.cpp +652 -0
  120. data/test/test_String.cpp +3 -3
  121. data/test/test_Struct.cpp +31 -40
  122. data/test/test_Symbol.cpp +3 -3
  123. data/test/test_To_From_Ruby.cpp +283 -218
  124. data/test/test_global_functions.cpp +41 -20
  125. data/test/unittest.cpp +34 -8
  126. data/test/unittest.hpp +0 -4
  127. metadata +117 -137
  128. data/Doxyfile +0 -2280
  129. data/Makefile.am +0 -26
  130. data/Makefile.in +0 -920
  131. data/README +0 -1055
  132. data/README.mingw +0 -8
  133. data/aclocal.m4 +0 -1088
  134. data/bootstrap +0 -8
  135. data/check_stdcxx_11.ac +0 -142
  136. data/config.guess +0 -1421
  137. data/config.sub +0 -1807
  138. data/configure +0 -7481
  139. data/configure.ac +0 -55
  140. data/depcomp +0 -791
  141. data/doxygen.ac +0 -314
  142. data/doxygen.am +0 -186
  143. data/extconf.rb +0 -69
  144. data/install-sh +0 -501
  145. data/missing +0 -215
  146. data/post-autoconf.rb +0 -22
  147. data/post-automake.rb +0 -28
  148. data/rice/Address_Registration_Guard.cpp +0 -22
  149. data/rice/Arg_impl.hpp +0 -129
  150. data/rice/Arg_operators.cpp +0 -21
  151. data/rice/Arg_operators.hpp +0 -19
  152. data/rice/Array.hpp +0 -214
  153. data/rice/Array.ipp +0 -256
  154. data/rice/Builtin_Object.hpp +0 -8
  155. data/rice/Builtin_Object.ipp +0 -50
  156. data/rice/Builtin_Object_defn.hpp +0 -50
  157. data/rice/Class.cpp +0 -57
  158. data/rice/Class.hpp +0 -8
  159. data/rice/Class.ipp +0 -6
  160. data/rice/Class_defn.hpp +0 -83
  161. data/rice/Data_Type.cpp +0 -54
  162. data/rice/Data_Type_fwd.hpp +0 -12
  163. data/rice/Director.cpp +0 -13
  164. data/rice/Exception.cpp +0 -59
  165. data/rice/Exception_Base.hpp +0 -8
  166. data/rice/Exception_Base.ipp +0 -13
  167. data/rice/Exception_Base_defn.hpp +0 -27
  168. data/rice/Hash.hpp +0 -227
  169. data/rice/Hash.ipp +0 -329
  170. data/rice/Identifier.cpp +0 -8
  171. data/rice/Jump_Tag.hpp +0 -24
  172. data/rice/Makefile.am +0 -124
  173. data/rice/Makefile.in +0 -839
  174. data/rice/Module.cpp +0 -84
  175. data/rice/Module.hpp +0 -8
  176. data/rice/Module.ipp +0 -6
  177. data/rice/Module_defn.hpp +0 -88
  178. data/rice/Module_impl.hpp +0 -281
  179. data/rice/Module_impl.ipp +0 -345
  180. data/rice/Object.cpp +0 -169
  181. data/rice/Object.hpp +0 -8
  182. data/rice/Object.ipp +0 -19
  183. data/rice/Object_defn.hpp +0 -191
  184. data/rice/Require_Guard.hpp +0 -21
  185. data/rice/String.cpp +0 -94
  186. data/rice/String.hpp +0 -91
  187. data/rice/Struct.cpp +0 -117
  188. data/rice/Struct.hpp +0 -162
  189. data/rice/Struct.ipp +0 -26
  190. data/rice/Symbol.cpp +0 -25
  191. data/rice/Symbol.hpp +0 -66
  192. data/rice/Symbol.ipp +0 -44
  193. data/rice/config.hpp +0 -47
  194. data/rice/config.hpp.in +0 -46
  195. data/rice/detail/Arguments.hpp +0 -118
  196. data/rice/detail/Auto_Function_Wrapper.hpp +0 -898
  197. data/rice/detail/Auto_Function_Wrapper.ipp +0 -3694
  198. data/rice/detail/Auto_Member_Function_Wrapper.hpp +0 -897
  199. data/rice/detail/Auto_Member_Function_Wrapper.ipp +0 -2774
  200. data/rice/detail/Caster.hpp +0 -103
  201. data/rice/detail/Not_Copyable.hpp +0 -25
  202. data/rice/detail/Wrapped_Function.hpp +0 -33
  203. data/rice/detail/cfp.hpp +0 -24
  204. data/rice/detail/cfp.ipp +0 -51
  205. data/rice/detail/check_ruby_type.cpp +0 -27
  206. data/rice/detail/check_ruby_type.hpp +0 -23
  207. data/rice/detail/creation_funcs.hpp +0 -37
  208. data/rice/detail/creation_funcs.ipp +0 -36
  209. data/rice/detail/define_method_and_auto_wrap.hpp +0 -31
  210. data/rice/detail/define_method_and_auto_wrap.ipp +0 -30
  211. data/rice/detail/demangle.cpp +0 -56
  212. data/rice/detail/demangle.hpp +0 -19
  213. data/rice/detail/env.hpp +0 -11
  214. data/rice/detail/method_data.cpp +0 -86
  215. data/rice/detail/node.hpp +0 -13
  216. data/rice/detail/object_call.hpp +0 -69
  217. data/rice/detail/object_call.ipp +0 -131
  218. data/rice/detail/protect.cpp +0 -29
  219. data/rice/detail/protect.hpp +0 -34
  220. data/rice/detail/ruby_version_code.hpp +0 -6
  221. data/rice/detail/ruby_version_code.hpp.in +0 -6
  222. data/rice/detail/st.hpp +0 -22
  223. data/rice/detail/traits.hpp +0 -43
  224. data/rice/detail/win32.hpp +0 -16
  225. data/rice/detail/wrap_function.hpp +0 -341
  226. data/rice/detail/wrap_function.ipp +0 -514
  227. data/rice/protect.hpp +0 -92
  228. data/rice/protect.ipp +0 -1134
  229. data/rice/rubypp.rb +0 -97
  230. data/rice/to_from_ruby.hpp +0 -8
  231. data/rice/to_from_ruby.ipp +0 -294
  232. data/rice/to_from_ruby_defn.hpp +0 -70
  233. data/ruby.ac +0 -135
  234. data/ruby/Makefile.am +0 -1
  235. data/ruby/Makefile.in +0 -625
  236. data/ruby/lib/Makefile.am +0 -3
  237. data/ruby/lib/Makefile.in +0 -503
  238. data/ruby/lib/mkmf-rice.rb.in +0 -217
  239. data/ruby/lib/version.rb +0 -3
  240. data/sample/Makefile.am +0 -47
  241. data/sample/Makefile.in +0 -486
  242. data/test/Makefile.am +0 -72
  243. data/test/Makefile.in +0 -1150
  244. data/test/ext/Makefile.am +0 -41
  245. data/test/ext/Makefile.in +0 -480
  246. data/test/test_rice.rb +0 -41
@@ -1,5 +1,6 @@
1
1
  #include "unittest.hpp"
2
- #include "rice/global_function.hpp"
2
+ #include "embed_ruby.hpp"
3
+ #include <rice/rice.hpp>
3
4
 
4
5
  using namespace Rice;
5
6
 
@@ -7,40 +8,60 @@ TESTSUITE(GlobalFunction);
7
8
 
8
9
  SETUP(GlobalFunction)
9
10
  {
10
- ruby_init();
11
+ embed_ruby();
11
12
  }
12
13
 
13
14
  namespace {
14
15
 
15
- bool method_to_wrap_called = false;
16
- void method_to_wrap(Object self) {
17
- method_to_wrap_called = true;
16
+ bool no_args()
17
+ {
18
+ return true;
18
19
  }
19
20
 
20
- int method_with_args_arg0;
21
-
22
- void method_with_args(Object self, int arg) {
23
- method_with_args_arg0 = arg;
21
+ int int_arg(int arg)
22
+ {
23
+ return 2 * arg;
24
24
  }
25
-
26
25
  }
27
26
 
28
- TESTCASE(exposes_global_functions)
27
+ TESTCASE(no_args)
29
28
  {
30
- define_global_function("method_to_wrap", &method_to_wrap);
29
+ define_global_function("no_args", &no_args);
31
30
  Module m = Module(rb_mKernel);
32
- m.call("method_to_wrap");
31
+ Object result = m.call("no_args");
32
+ ASSERT_EQUAL(Qtrue, result.value());
33
+ }
34
+
35
+ TESTCASE(no_args_lambda)
36
+ {
37
+ define_global_function("no_args", []()
38
+ {
39
+ return no_args();
40
+ });
33
41
 
34
- ASSERT(method_to_wrap_called);
42
+ Module m = Module(rb_mKernel);
43
+ Object result = m.call("no_args");
44
+ ASSERT_EQUAL(Qtrue, result.value());
35
45
  }
36
46
 
37
- TESTCASE(exposes_global_functions_with_arguments)
47
+ TESTCASE(int_arg)
38
48
  {
39
- define_global_function("method_with_args", &method_with_args);
49
+ define_global_function("method_with_args", &int_arg);
40
50
  Module m = Module(rb_mKernel);
41
- m.call("method_with_args", 10);
51
+ Object result = m.call("method_with_args", 10);
52
+ ASSERT_EQUAL(20, detail::From_Ruby<int>().convert(result));
53
+ }
42
54
 
43
- ASSERT_EQUAL(10, method_with_args_arg0);
55
+ TESTCASE(int_arg_lambda)
56
+ {
57
+ define_global_function("method_with_args", [](int value)
58
+ {
59
+ return int_arg(value);
60
+ });
61
+
62
+ Module m = Module(rb_mKernel);
63
+ Object result = m.call("method_with_args", 10);
64
+ ASSERT_EQUAL(20, detail::From_Ruby<int>().convert(result));
44
65
  }
45
66
 
46
67
  namespace
@@ -64,7 +85,7 @@ namespace
64
85
 
65
86
  TESTCASE(default_arguments_for_define_global_function)
66
87
  {
67
- define_global_function("foo", &defaults_method_one, (Arg("arg1"), Arg("arg2") = (int)3, Arg("arg3") = (bool)true));
88
+ define_global_function("foo", &defaults_method_one, Arg("arg1"), Arg("arg2") = (int)3, Arg("arg3") = (bool)true);
68
89
  Module m(rb_mKernel);
69
90
 
70
91
  m.call("foo", 2);
@@ -88,7 +109,7 @@ TESTCASE(default_arguments_for_define_global_function)
88
109
 
89
110
  TESTCASE(default_arguments_for_define_global_function_and_returning)
90
111
  {
91
- define_global_function("foo_ret", &defaults_returns, (Arg("arg1"), Arg("arg2") = (int)3));
112
+ define_global_function("foo_ret", &defaults_returns, Arg("arg1"), Arg("arg2") = (int)3);
92
113
  Module m(rb_mKernel);
93
114
 
94
115
  Object o = m.call("foo_ret", 2);
data/test/unittest.cpp CHANGED
@@ -1,3 +1,4 @@
1
+ #include <algorithm>
1
2
  #include <iostream>
2
3
  #include <map>
3
4
  #include "unittest.hpp"
@@ -85,18 +86,43 @@ run(Test_Result & result)
85
86
  }
86
87
  }
87
88
 
88
- int main()
89
+ char* findOption(char** begin, char** end, const std::string& option)
89
90
  {
91
+ char** itr = std::find(begin, end, option);
92
+ if (itr != end && ++itr != end)
93
+ {
94
+ return *itr;
95
+ }
96
+ return nullptr;
97
+ }
98
+
99
+ int main(int argc, char** argv)
100
+ {
101
+ std::vector<Test_Suite> suites;
102
+
103
+ char* moduleName = findOption(argv, argv + argc, "--suite");
104
+ if (moduleName)
105
+ {
106
+ Test_Suite suite = test_suites()[moduleName];
107
+ suites.push_back(suite);
108
+ }
109
+ else
110
+ {
111
+ std::transform(test_suites().begin(), test_suites().end(),
112
+ std::back_inserter(suites),
113
+ [](auto& pair)
114
+ {
115
+ return pair.second;
116
+ });
117
+ }
118
+
90
119
  Test_Result result;
91
120
  size_t num_tests = 0;
92
-
93
- for(Test_Suites::iterator it = test_suites().begin(),
94
- end = test_suites().end();
95
- it != end;
96
- ++it)
121
+
122
+ for (Test_Suite& suite : suites)
97
123
  {
98
- it->second.run(result);
99
- num_tests += it->second.size();
124
+ suite.run(result);
125
+ num_tests += suite.size();
100
126
  }
101
127
 
102
128
  std::cout << std::endl;
data/test/unittest.hpp CHANGED
@@ -15,10 +15,6 @@
15
15
  #include <sstream>
16
16
  #include <iostream>
17
17
 
18
- #if !defined(_MSC_VER)
19
- using namespace std;
20
- #endif
21
-
22
18
  class Failure
23
19
  {
24
20
  public:
metadata CHANGED
@@ -1,181 +1,146 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rice
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Brannan
8
8
  - Jason Roelofs
9
- autorequire:
9
+ - Charlie Savage
10
+ autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2017-01-07 00:00:00.000000000 Z
13
- dependencies: []
13
+ date: 2021-05-17 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bundler
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: rake
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: minitest
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
14
57
  description: |
15
- Rice is a C++ interface to Ruby's C API. It provides a type-safe and
58
+ Rice is a C++ interface to Ruby's C API. It provides a type-safe and
16
59
  exception-safe interface in order to make embedding Ruby and writing
17
- Ruby extensions with C++ easier. It is similar to Boost.Python in many
18
- ways, but also attempts to provide an object-oriented interface to all
19
- of the Ruby C API.
60
+ Ruby extensions with C++ easier.
20
61
  email:
21
62
  - curlypaul924@gmail.com
22
63
  - jasonroelofs@gmail.com
64
+ - cfis@savagexi.com
23
65
  executables: []
24
- extensions:
25
- - extconf.rb
66
+ extensions: []
26
67
  extra_rdoc_files:
27
- - README
68
+ - README.md
28
69
  files:
70
+ - CHANGELOG.md
71
+ - CONTRIBUTORS.md
29
72
  - COPYING
30
- - Doxyfile
31
- - Makefile.am
32
- - Makefile.in
33
- - README
34
- - README.mingw
73
+ - Gemfile
74
+ - README.md
35
75
  - Rakefile
36
- - aclocal.m4
37
- - bootstrap
38
- - check_stdcxx_11.ac
39
- - config.guess
40
- - config.sub
41
- - configure
42
- - configure.ac
43
- - depcomp
44
- - doxygen.ac
45
- - doxygen.am
46
- - extconf.rb
47
- - install-sh
48
- - missing
49
- - post-autoconf.rb
50
- - post-automake.rb
51
- - rice/Address_Registration_Guard.cpp
76
+ - include/rice/rice.hpp
77
+ - lib/mkmf-rice.rb
78
+ - lib/version.rb
52
79
  - rice/Address_Registration_Guard.hpp
53
80
  - rice/Address_Registration_Guard.ipp
54
81
  - rice/Address_Registration_Guard_defn.hpp
55
82
  - rice/Arg.hpp
56
- - rice/Arg_impl.hpp
57
- - rice/Arg_operators.cpp
58
- - rice/Arg_operators.hpp
59
- - rice/Array.hpp
60
- - rice/Array.ipp
61
- - rice/Builtin_Object.hpp
62
- - rice/Builtin_Object.ipp
63
- - rice/Builtin_Object_defn.hpp
64
- - rice/Class.cpp
65
- - rice/Class.hpp
66
- - rice/Class.ipp
67
- - rice/Class_defn.hpp
83
+ - rice/Arg.ipp
68
84
  - rice/Constructor.hpp
69
85
  - rice/Data_Object.hpp
70
86
  - rice/Data_Object.ipp
71
87
  - rice/Data_Object_defn.hpp
72
- - rice/Data_Type.cpp
73
88
  - rice/Data_Type.hpp
74
89
  - rice/Data_Type.ipp
75
90
  - rice/Data_Type_defn.hpp
76
- - rice/Data_Type_fwd.hpp
77
- - rice/Director.cpp
78
91
  - rice/Director.hpp
79
92
  - rice/Enum.hpp
80
93
  - rice/Enum.ipp
81
- - rice/Exception.cpp
82
94
  - rice/Exception.hpp
83
- - rice/Exception_Base.hpp
84
- - rice/Exception_Base.ipp
85
- - rice/Exception_Base_defn.hpp
95
+ - rice/Exception.ipp
86
96
  - rice/Exception_defn.hpp
87
- - rice/Hash.hpp
88
- - rice/Hash.ipp
89
- - rice/Identifier.cpp
90
97
  - rice/Identifier.hpp
91
98
  - rice/Identifier.ipp
92
- - rice/Jump_Tag.hpp
93
- - rice/Makefile.am
94
- - rice/Makefile.in
95
- - rice/Module.cpp
96
- - rice/Module.hpp
97
- - rice/Module.ipp
98
- - rice/Module_defn.hpp
99
- - rice/Module_impl.hpp
100
- - rice/Module_impl.ipp
101
- - rice/Object.cpp
102
- - rice/Object.hpp
103
- - rice/Object.ipp
104
- - rice/Object_defn.hpp
105
- - rice/Require_Guard.hpp
106
- - rice/String.cpp
107
- - rice/String.hpp
108
- - rice/Struct.cpp
109
- - rice/Struct.hpp
110
- - rice/Struct.ipp
111
- - rice/Symbol.cpp
112
- - rice/Symbol.hpp
113
- - rice/Symbol.ipp
114
- - rice/config.hpp
115
- - rice/config.hpp.in
116
- - rice/detail/Arguments.hpp
117
- - rice/detail/Auto_Function_Wrapper.hpp
118
- - rice/detail/Auto_Function_Wrapper.ipp
119
- - rice/detail/Auto_Member_Function_Wrapper.hpp
120
- - rice/detail/Auto_Member_Function_Wrapper.ipp
121
- - rice/detail/Caster.hpp
99
+ - rice/Return.hpp
100
+ - rice/Return.ipp
122
101
  - rice/detail/Exception_Handler.hpp
123
102
  - rice/detail/Exception_Handler.ipp
124
103
  - rice/detail/Exception_Handler_defn.hpp
125
104
  - rice/detail/Iterator.hpp
126
- - rice/detail/Not_Copyable.hpp
127
- - rice/detail/Wrapped_Function.hpp
128
- - rice/detail/cfp.hpp
129
- - rice/detail/cfp.ipp
130
- - rice/detail/check_ruby_type.cpp
131
- - rice/detail/check_ruby_type.hpp
132
- - rice/detail/creation_funcs.hpp
133
- - rice/detail/creation_funcs.ipp
105
+ - rice/detail/Iterator.ipp
106
+ - rice/detail/Jump_Tag.hpp
107
+ - rice/detail/MethodInfo.hpp
108
+ - rice/detail/MethodInfo.ipp
109
+ - rice/detail/NativeAttribute.hpp
110
+ - rice/detail/NativeAttribute.ipp
111
+ - rice/detail/NativeFunction.hpp
112
+ - rice/detail/NativeFunction.ipp
113
+ - rice/detail/RubyFunction.hpp
114
+ - rice/detail/RubyFunction.ipp
115
+ - rice/detail/Type.hpp
116
+ - rice/detail/Type.ipp
117
+ - rice/detail/TypeRegistry.hpp
118
+ - rice/detail/TypeRegistry.ipp
119
+ - rice/detail/Wrapper.hpp
120
+ - rice/detail/Wrapper.ipp
134
121
  - rice/detail/default_allocation_func.hpp
135
122
  - rice/detail/default_allocation_func.ipp
136
- - rice/detail/define_method_and_auto_wrap.hpp
137
- - rice/detail/define_method_and_auto_wrap.ipp
138
- - rice/detail/demangle.cpp
139
- - rice/detail/demangle.hpp
140
- - rice/detail/env.hpp
141
123
  - rice/detail/from_ruby.hpp
142
124
  - rice/detail/from_ruby.ipp
143
- - rice/detail/method_data.cpp
125
+ - rice/detail/from_ruby_defn.hpp
126
+ - rice/detail/function_traits.hpp
144
127
  - rice/detail/method_data.hpp
145
- - rice/detail/node.hpp
146
- - rice/detail/object_call.hpp
147
- - rice/detail/object_call.ipp
148
- - rice/detail/protect.cpp
149
- - rice/detail/protect.hpp
128
+ - rice/detail/method_data.ipp
129
+ - rice/detail/rice_traits.hpp
150
130
  - rice/detail/ruby.hpp
151
- - rice/detail/ruby_version_code.hpp
152
- - rice/detail/ruby_version_code.hpp.in
153
- - rice/detail/st.hpp
154
131
  - rice/detail/to_ruby.hpp
155
132
  - rice/detail/to_ruby.ipp
156
- - rice/detail/traits.hpp
157
- - rice/detail/win32.hpp
158
- - rice/detail/wrap_function.hpp
159
- - rice/detail/wrap_function.ipp
133
+ - rice/detail/to_ruby_defn.hpp
134
+ - rice/forward_declares.ipp
160
135
  - rice/global_function.hpp
161
136
  - rice/global_function.ipp
162
- - rice/protect.hpp
163
- - rice/protect.ipp
137
+ - rice/rice.hpp
164
138
  - rice/ruby_mark.hpp
165
139
  - rice/ruby_try_catch.hpp
166
- - rice/rubypp.rb
167
- - rice/to_from_ruby.hpp
168
- - rice/to_from_ruby.ipp
169
- - rice/to_from_ruby_defn.hpp
170
- - ruby.ac
171
- - ruby/Makefile.am
172
- - ruby/Makefile.in
173
- - ruby/lib/Makefile.am
174
- - ruby/lib/Makefile.in
175
- - ruby/lib/mkmf-rice.rb.in
176
- - ruby/lib/version.rb
177
- - sample/Makefile.am
178
- - sample/Makefile.in
140
+ - rice/stl.hpp
141
+ - sample/callbacks/extconf.rb
142
+ - sample/callbacks/sample_callbacks.cpp
143
+ - sample/callbacks/test.rb
179
144
  - sample/enum/extconf.rb
180
145
  - sample/enum/sample_enum.cpp
181
146
  - sample/enum/test.rb
@@ -185,17 +150,21 @@ files:
185
150
  - sample/map/extconf.rb
186
151
  - sample/map/map.cpp
187
152
  - sample/map/test.rb
188
- - test/Makefile.am
189
- - test/Makefile.in
190
- - test/ext/Makefile.am
191
- - test/ext/Makefile.in
153
+ - test/embed_ruby.cpp
154
+ - test/embed_ruby.hpp
192
155
  - test/ext/t1/Foo.hpp
193
156
  - test/ext/t1/extconf.rb
194
157
  - test/ext/t1/t1.cpp
195
158
  - test/ext/t2/extconf.rb
196
159
  - test/ext/t2/t2.cpp
160
+ - test/extconf.rb
161
+ - test/ruby/test_callbacks_sample.rb
162
+ - test/ruby/test_multiple_extensions.rb
163
+ - test/ruby/test_multiple_extensions_same_class.rb
164
+ - test/ruby/test_multiple_extensions_with_inheritance.rb
197
165
  - test/test_Address_Registration_Guard.cpp
198
166
  - test/test_Array.cpp
167
+ - test/test_Attribute.cpp
199
168
  - test/test_Builtin_Object.cpp
200
169
  - test/test_Class.cpp
201
170
  - test/test_Constructor.cpp
@@ -206,41 +175,52 @@ files:
206
175
  - test/test_Exception.cpp
207
176
  - test/test_Hash.cpp
208
177
  - test/test_Identifier.cpp
178
+ - test/test_Inheritance.cpp
179
+ - test/test_Iterator.cpp
209
180
  - test/test_Jump_Tag.cpp
181
+ - test/test_Keep_Alive.cpp
210
182
  - test/test_Memory_Management.cpp
211
183
  - test/test_Module.cpp
212
184
  - test/test_Object.cpp
185
+ - test/test_Ownership.cpp
186
+ - test/test_Self.cpp
187
+ - test/test_Stl_Optional.cpp
188
+ - test/test_Stl_Pair.cpp
189
+ - test/test_Stl_SmartPointer.cpp
190
+ - test/test_Stl_String.cpp
191
+ - test/test_Stl_Vector.cpp
213
192
  - test/test_String.cpp
214
193
  - test/test_Struct.cpp
215
194
  - test/test_Symbol.cpp
216
195
  - test/test_To_From_Ruby.cpp
217
196
  - test/test_global_functions.cpp
218
- - test/test_rice.rb
219
197
  - test/unittest.cpp
220
198
  - test/unittest.hpp
221
199
  homepage: https://github.com/jasonroelofs/rice
222
200
  licenses:
223
201
  - MIT
224
202
  metadata: {}
225
- post_install_message:
203
+ post_install_message:
226
204
  rdoc_options: []
227
205
  require_paths:
228
- - ruby/lib
206
+ - lib
229
207
  required_ruby_version: !ruby/object:Gem::Requirement
230
208
  requirements:
231
209
  - - ">="
232
210
  - !ruby/object:Gem::Version
233
- version: '0'
211
+ version: '2.5'
234
212
  required_rubygems_version: !ruby/object:Gem::Requirement
235
213
  requirements:
236
214
  - - ">="
237
215
  - !ruby/object:Gem::Version
238
216
  version: '0'
239
217
  requirements: []
240
- rubyforge_project:
241
- rubygems_version: 2.6.7
242
- signing_key:
218
+ rubygems_version: 3.2.3
219
+ signing_key:
243
220
  specification_version: 4
244
221
  summary: Ruby Interface for C++ Extensions
245
222
  test_files:
246
- - test/test_rice.rb
223
+ - test/ruby/test_callbacks_sample.rb
224
+ - test/ruby/test_multiple_extensions.rb
225
+ - test/ruby/test_multiple_extensions_same_class.rb
226
+ - test/ruby/test_multiple_extensions_with_inheritance.rb