rice 3.0.0 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +121 -0
- data/CONTRIBUTORS.md +19 -0
- data/Gemfile +3 -0
- data/README.md +44 -1025
- data/Rakefile +95 -12
- data/include/rice/rice.hpp +7766 -0
- data/include/rice/stl.hpp +1113 -0
- data/lib/mkmf-rice.rb +127 -0
- data/lib/version.rb +3 -0
- data/rice/Address_Registration_Guard.ipp +75 -32
- data/rice/Address_Registration_Guard_defn.hpp +60 -56
- data/rice/Arg.hpp +80 -4
- data/rice/Arg.ipp +51 -0
- data/rice/Constructor.hpp +12 -14
- data/rice/Data_Object.ipp +234 -107
- data/rice/Data_Object_defn.hpp +77 -117
- data/rice/Data_Type.hpp +1 -2
- data/rice/Data_Type.ipp +251 -295
- data/rice/Data_Type_defn.hpp +175 -243
- data/rice/Director.hpp +11 -6
- data/rice/Enum.hpp +54 -104
- data/rice/Enum.ipp +104 -230
- data/rice/Exception.hpp +2 -8
- data/rice/Exception.ipp +65 -0
- data/rice/Exception_defn.hpp +46 -47
- data/rice/Identifier.hpp +28 -28
- data/rice/Identifier.ipp +23 -27
- data/rice/Return.hpp +39 -0
- data/rice/Return.ipp +33 -0
- data/rice/detail/Exception_Handler.ipp +22 -62
- data/rice/detail/Exception_Handler_defn.hpp +76 -91
- data/rice/detail/Iterator.hpp +18 -88
- data/rice/detail/Iterator.ipp +47 -0
- data/rice/detail/Jump_Tag.hpp +21 -0
- data/rice/detail/MethodInfo.hpp +44 -0
- data/rice/detail/MethodInfo.ipp +78 -0
- data/rice/detail/NativeAttribute.hpp +53 -0
- data/rice/detail/NativeAttribute.ipp +83 -0
- data/rice/detail/NativeFunction.hpp +69 -0
- data/rice/detail/NativeFunction.ipp +248 -0
- data/rice/detail/RubyFunction.hpp +39 -0
- data/rice/detail/RubyFunction.ipp +92 -0
- data/rice/detail/Type.hpp +29 -0
- data/rice/detail/Type.ipp +138 -0
- data/rice/detail/TypeRegistry.hpp +50 -0
- data/rice/detail/TypeRegistry.ipp +106 -0
- data/rice/detail/Wrapper.hpp +51 -0
- data/rice/detail/Wrapper.ipp +151 -0
- data/rice/detail/default_allocation_func.hpp +8 -19
- data/rice/detail/default_allocation_func.ipp +9 -8
- data/rice/detail/from_ruby.hpp +2 -37
- data/rice/detail/from_ruby.ipp +1020 -46
- data/rice/detail/from_ruby_defn.hpp +38 -0
- data/rice/detail/function_traits.hpp +124 -0
- data/rice/detail/method_data.hpp +23 -15
- data/rice/detail/method_data.ipp +53 -0
- data/rice/detail/rice_traits.hpp +116 -0
- data/rice/detail/ruby.hpp +9 -46
- data/rice/detail/to_ruby.hpp +3 -17
- data/rice/detail/to_ruby.ipp +409 -31
- data/rice/detail/to_ruby_defn.hpp +48 -0
- data/rice/forward_declares.ipp +82 -0
- data/rice/global_function.hpp +16 -20
- data/rice/global_function.ipp +8 -17
- data/rice/rice.hpp +59 -0
- data/rice/ruby_mark.hpp +5 -3
- data/rice/ruby_try_catch.hpp +4 -4
- data/rice/stl.hpp +11 -0
- data/sample/callbacks/extconf.rb +3 -0
- data/sample/callbacks/sample_callbacks.cpp +10 -13
- data/sample/enum/extconf.rb +3 -0
- data/sample/enum/sample_enum.cpp +3 -17
- data/sample/enum/test.rb +2 -2
- data/sample/inheritance/animals.cpp +8 -24
- data/sample/inheritance/extconf.rb +3 -0
- data/sample/inheritance/test.rb +1 -1
- data/sample/map/extconf.rb +3 -0
- data/sample/map/map.cpp +10 -18
- data/sample/map/test.rb +1 -1
- data/test/embed_ruby.cpp +18 -5
- data/test/ext/t1/extconf.rb +3 -0
- data/test/ext/t1/t1.cpp +1 -3
- data/test/ext/t2/extconf.rb +3 -0
- data/test/ext/t2/t2.cpp +1 -1
- data/test/extconf.rb +23 -0
- data/test/ruby/test_callbacks_sample.rb +28 -0
- data/test/ruby/test_multiple_extensions.rb +18 -0
- data/test/ruby/test_multiple_extensions_same_class.rb +14 -0
- data/test/ruby/test_multiple_extensions_with_inheritance.rb +20 -0
- data/test/test_Address_Registration_Guard.cpp +23 -10
- data/test/test_Array.cpp +129 -73
- data/test/test_Attribute.cpp +147 -0
- data/test/test_Builtin_Object.cpp +34 -14
- data/test/test_Class.cpp +149 -275
- data/test/test_Constructor.cpp +10 -9
- data/test/test_Data_Object.cpp +133 -192
- data/test/test_Data_Type.cpp +322 -252
- data/test/test_Director.cpp +54 -41
- data/test/test_Enum.cpp +228 -103
- data/test/test_Exception.cpp +5 -6
- data/test/test_Hash.cpp +31 -30
- data/test/test_Identifier.cpp +4 -5
- data/test/test_Inheritance.cpp +221 -0
- data/test/test_Iterator.cpp +161 -0
- data/test/test_Jump_Tag.cpp +1 -1
- data/test/test_Keep_Alive.cpp +161 -0
- data/test/test_Memory_Management.cpp +2 -4
- data/test/test_Module.cpp +167 -110
- data/test/test_Object.cpp +41 -21
- data/test/test_Ownership.cpp +275 -0
- data/test/test_Self.cpp +205 -0
- data/test/test_Stl_Optional.cpp +90 -0
- data/test/test_Stl_Pair.cpp +144 -0
- data/test/test_Stl_SmartPointer.cpp +200 -0
- data/test/test_Stl_String.cpp +74 -0
- data/test/test_Stl_Vector.cpp +652 -0
- data/test/test_String.cpp +1 -2
- data/test/test_Struct.cpp +29 -39
- data/test/test_Symbol.cpp +1 -2
- data/test/test_To_From_Ruby.cpp +249 -285
- data/test/test_global_functions.cpp +39 -19
- data/test/unittest.hpp +0 -4
- metadata +70 -141
- data/Doxyfile +0 -2268
- data/Makefile.am +0 -26
- data/Makefile.in +0 -931
- data/README.mingw +0 -8
- data/aclocal.m4 +0 -1085
- data/ax_cxx_compile_stdcxx.m4 +0 -951
- data/bootstrap +0 -8
- data/config.guess +0 -1421
- data/config.sub +0 -1807
- data/configure +0 -7792
- data/configure.ac +0 -55
- data/depcomp +0 -791
- data/doxygen.ac +0 -314
- data/doxygen.am +0 -186
- data/extconf.rb +0 -70
- data/install-sh +0 -501
- data/missing +0 -215
- data/post-autoconf.rb +0 -22
- data/post-automake.rb +0 -28
- data/rice/Address_Registration_Guard.cpp +0 -22
- data/rice/Arg_impl.hpp +0 -129
- data/rice/Arg_operators.cpp +0 -21
- data/rice/Arg_operators.hpp +0 -19
- data/rice/Array.hpp +0 -214
- data/rice/Array.ipp +0 -256
- data/rice/Builtin_Object.hpp +0 -8
- data/rice/Builtin_Object.ipp +0 -50
- data/rice/Builtin_Object_defn.hpp +0 -50
- data/rice/Class.cpp +0 -57
- data/rice/Class.hpp +0 -8
- data/rice/Class.ipp +0 -6
- data/rice/Class_defn.hpp +0 -84
- data/rice/Data_Type.cpp +0 -54
- data/rice/Data_Type_fwd.hpp +0 -12
- data/rice/Director.cpp +0 -13
- data/rice/Exception.cpp +0 -54
- data/rice/Exception_Base.hpp +0 -8
- data/rice/Exception_Base.ipp +0 -13
- data/rice/Exception_Base_defn.hpp +0 -27
- data/rice/Hash.hpp +0 -230
- data/rice/Hash.ipp +0 -329
- data/rice/Identifier.cpp +0 -8
- data/rice/Jump_Tag.hpp +0 -24
- data/rice/Makefile.am +0 -121
- data/rice/Makefile.in +0 -884
- data/rice/Module.cpp +0 -84
- data/rice/Module.hpp +0 -8
- data/rice/Module.ipp +0 -6
- data/rice/Module_defn.hpp +0 -88
- data/rice/Module_impl.hpp +0 -281
- data/rice/Module_impl.ipp +0 -345
- data/rice/Object.cpp +0 -169
- data/rice/Object.hpp +0 -8
- data/rice/Object.ipp +0 -33
- data/rice/Object_defn.hpp +0 -214
- data/rice/Require_Guard.hpp +0 -21
- data/rice/String.cpp +0 -89
- data/rice/String.hpp +0 -91
- data/rice/Struct.cpp +0 -117
- data/rice/Struct.hpp +0 -162
- data/rice/Struct.ipp +0 -26
- data/rice/Symbol.cpp +0 -25
- data/rice/Symbol.hpp +0 -66
- data/rice/Symbol.ipp +0 -44
- data/rice/config.hpp +0 -47
- data/rice/config.hpp.in +0 -46
- data/rice/detail/Arguments.hpp +0 -118
- data/rice/detail/Auto_Function_Wrapper.hpp +0 -898
- data/rice/detail/Auto_Function_Wrapper.ipp +0 -3181
- data/rice/detail/Auto_Member_Function_Wrapper.hpp +0 -897
- data/rice/detail/Auto_Member_Function_Wrapper.ipp +0 -2501
- data/rice/detail/Caster.hpp +0 -103
- data/rice/detail/Not_Copyable.hpp +0 -25
- data/rice/detail/Wrapped_Function.hpp +0 -33
- data/rice/detail/cfp.hpp +0 -24
- data/rice/detail/cfp.ipp +0 -51
- data/rice/detail/check_ruby_type.cpp +0 -27
- data/rice/detail/check_ruby_type.hpp +0 -23
- data/rice/detail/creation_funcs.hpp +0 -37
- data/rice/detail/creation_funcs.ipp +0 -36
- data/rice/detail/define_method_and_auto_wrap.hpp +0 -31
- data/rice/detail/define_method_and_auto_wrap.ipp +0 -30
- data/rice/detail/demangle.cpp +0 -56
- data/rice/detail/demangle.hpp +0 -19
- data/rice/detail/env.hpp +0 -11
- data/rice/detail/method_data.cpp +0 -92
- data/rice/detail/node.hpp +0 -13
- data/rice/detail/protect.cpp +0 -29
- data/rice/detail/protect.hpp +0 -34
- data/rice/detail/ruby_version_code.hpp +0 -6
- data/rice/detail/ruby_version_code.hpp.in +0 -6
- data/rice/detail/st.hpp +0 -22
- data/rice/detail/win32.hpp +0 -16
- data/rice/detail/wrap_function.hpp +0 -66
- data/rice/protect.hpp +0 -38
- data/rice/protect.ipp +0 -1134
- data/rice/rubypp.rb +0 -97
- data/rice/to_from_ruby.hpp +0 -8
- data/rice/to_from_ruby.ipp +0 -418
- data/rice/to_from_ruby_defn.hpp +0 -70
- data/ruby/Makefile.am +0 -1
- data/ruby/Makefile.in +0 -628
- data/ruby/lib/Makefile.am +0 -3
- data/ruby/lib/Makefile.in +0 -506
- data/ruby/lib/mkmf-rice.rb.in +0 -217
- data/ruby/lib/version.rb +0 -3
- data/ruby.ac +0 -135
- data/sample/Makefile.am +0 -53
- data/sample/Makefile.in +0 -495
- data/test/Makefile.am +0 -73
- data/test/Makefile.in +0 -1219
- data/test/ext/Makefile.am +0 -41
- data/test/ext/Makefile.in +0 -483
- data/test/test_rice.rb +0 -45
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 523fdd81cea4f2ee375b9865c8f3a097515c94341b25d1b0a9c7411720b9586f
|
|
4
|
+
data.tar.gz: f935c54cea96917cd746ccc4ee8495f09fb8021b7006c0905a0441e6c0f53626
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3f39a496726d059966a84cb3fa6354c18336231c563f7b6b90d248512c3a87e54a3716960c72fa0a3213b49b63baf6538eda26d93cda135304d0edfa9e91fae9
|
|
7
|
+
data.tar.gz: a6b5e6c147516774096bbe598d6236d009e5648762139cf6926403b29b83d19a3fe989e224aeee8c503bf5c85b392ba0df2f8d2174d6a467011a5c57c56863d7
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
## 4.0
|
|
2
|
+
|
|
3
|
+
Rice 4.0 is a significant change from 3.0 and has multiple backwards-incompatible
|
|
4
|
+
changes. Rice 4.0 no longer requires pre-compilation and is now a header-only library,
|
|
5
|
+
delivered as a combined header file.
|
|
6
|
+
|
|
7
|
+
For migrating from 3 to 4, see [the migration guide](https://jasonroelofs.com/rice/4.x/migration.html).
|
|
8
|
+
|
|
9
|
+
There are a ton of changes, but some of the most important ones:
|
|
10
|
+
|
|
11
|
+
* Header only! `#include <rice/rice.hpp>`
|
|
12
|
+
* Requires C++17 or later
|
|
13
|
+
* Brand new, expanded documentation
|
|
14
|
+
* [Built-in STL support](https://jasonroelofs.com/rice/4.x/stl/stl.html)
|
|
15
|
+
* And so much more. See the documentation for more details.
|
|
16
|
+
|
|
17
|
+
## 3.0
|
|
18
|
+
|
|
19
|
+
* Now requires a compiler supporting for C++14 or later
|
|
20
|
+
* Drop support for Ruby 2.4. Supported versions are now 2.5 through 3.0.
|
|
21
|
+
* Fix build issue on macOS Big Sur
|
|
22
|
+
* Fix a data corruption issue with `Rice::Exception::what`.
|
|
23
|
+
* Move CI from Travis to GitHub Actions. Now also able to verify Windows builds!
|
|
24
|
+
|
|
25
|
+
## 2.2.0
|
|
26
|
+
|
|
27
|
+
* Deprecate support for Rubies older than 2.4
|
|
28
|
+
* Provide a few more built-in to_ruby/from_ruby conversions
|
|
29
|
+
* Fix compilation error when building under Ruby 2.7.0
|
|
30
|
+
|
|
31
|
+
## 2.1.3
|
|
32
|
+
|
|
33
|
+
* Don't lock down HAVE_CXX11 on the Rice build itself.
|
|
34
|
+
|
|
35
|
+
## 2.1.2
|
|
36
|
+
|
|
37
|
+
* Fix defining custom `begin` and `end` methods on an `Iterator`
|
|
38
|
+
|
|
39
|
+
## 2.1.1
|
|
40
|
+
|
|
41
|
+
* Support Ruby 2.4
|
|
42
|
+
* Re-enable Rice::Enum#hash to support putting Enums in Hashes
|
|
43
|
+
|
|
44
|
+
## 2.1.0
|
|
45
|
+
|
|
46
|
+
* Fix compliation issues related to g++ and Ruby 2.3.0
|
|
47
|
+
To do this, I had to remove Array::to_c_array which was exposing the internals of a
|
|
48
|
+
Ruby RArray type to the system. This is not something that we should support going forward
|
|
49
|
+
as these internals are going to change.
|
|
50
|
+
|
|
51
|
+
# 2.0.0
|
|
52
|
+
|
|
53
|
+
* Deprecated all versions of Ruby < 2.0
|
|
54
|
+
* Removed Rice::VM.
|
|
55
|
+
Unsure if this class is even used anywhere and it felt strange to be
|
|
56
|
+
able to load up a Ruby interpreter inside of Ruby. If you need it, it's
|
|
57
|
+
two files that I can easily make available in a gist.
|
|
58
|
+
* Improve build process across architectures and future changes.
|
|
59
|
+
Included some extra warnings for XCode updates on Mac OS X.
|
|
60
|
+
* Confirmed that Rice definitely does not work on static Ruby builds,
|
|
61
|
+
but that seems to be more because newer Ruby versions don't have good static builds.
|
|
62
|
+
Thanks to @Kagetsuki for his help tracking down what's going on here.
|
|
63
|
+
|
|
64
|
+
## 1.7.0
|
|
65
|
+
|
|
66
|
+
* Ruby 2.2 support
|
|
67
|
+
Potential breaking changes. Ruby 2.2 removed RHash as a public accessible struct
|
|
68
|
+
and as such I changed all of the Builtin_Objects to work directly off of RObject
|
|
69
|
+
instead of the specifics (RArray, RStruct, RString, etc). If you've been using these
|
|
70
|
+
objects directly I recommend using either the Rice API or Ruby's CAPI instead for
|
|
71
|
+
future compatibility.
|
|
72
|
+
|
|
73
|
+
## 1.6.3
|
|
74
|
+
|
|
75
|
+
* Fix complication issue on some 64-bit *nix systems
|
|
76
|
+
|
|
77
|
+
## 1.6.2
|
|
78
|
+
|
|
79
|
+
* Oops! Missed new file in the gemspec
|
|
80
|
+
|
|
81
|
+
## 1.6.1
|
|
82
|
+
|
|
83
|
+
* Support C++x11 uniqe_ptr over auto_ptr
|
|
84
|
+
* Fix some warnings
|
|
85
|
+
|
|
86
|
+
## 1.6.0
|
|
87
|
+
|
|
88
|
+
* Ruby 2.1 support -- Thanks Chai Zhenhua
|
|
89
|
+
* Methods and Constructors have correct method access specifiers [#57]
|
|
90
|
+
* Clean up some 64-bit compiler warnings
|
|
91
|
+
|
|
92
|
+
## 1.5.3
|
|
93
|
+
|
|
94
|
+
* Fix signed / unsigned compiler warning with Hash#each
|
|
95
|
+
* Fix compilation on clang 5 (Xcode 5)
|
|
96
|
+
|
|
97
|
+
## 1.5.2
|
|
98
|
+
|
|
99
|
+
* Update build system to remove deprecation warnings and allow easier building
|
|
100
|
+
* Fix String to work as a parameter in a wrapped method (#59)
|
|
101
|
+
* Update documentation a bit
|
|
102
|
+
|
|
103
|
+
## 1.5.1
|
|
104
|
+
|
|
105
|
+
* Doc string fix
|
|
106
|
+
|
|
107
|
+
## 1.5.0
|
|
108
|
+
|
|
109
|
+
* Ruby 2.0 compatability
|
|
110
|
+
* Bug fixes
|
|
111
|
+
|
|
112
|
+
## 1.4.3
|
|
113
|
+
|
|
114
|
+
* Various build configuration fixes
|
|
115
|
+
|
|
116
|
+
## 1.4.0
|
|
117
|
+
|
|
118
|
+
* Fully compatible with Ruby 1.9.2
|
|
119
|
+
* Constructor supports default arguments
|
|
120
|
+
* Ability to define implicit casting through define_implicit_cast
|
|
121
|
+
* Fixed a few memory-related issues
|
data/CONTRIBUTORS.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Contributors
|
|
2
|
+
============
|
|
3
|
+
|
|
4
|
+
I'd like to thank the following people for their help in making Rice what it is today.
|
|
5
|
+
|
|
6
|
+
* [Paul Brannon (cout)](https://github.com/cout) for initially building and releasing this library as open source.
|
|
7
|
+
* [Sylvain Joyeux (doudou)](https://github.com/doudou) for [PR #23](https://github.com/jasonroelofs/rice/pull/23) and [PR #68](https://github.com/jasonroelofs/rice/pull/68)
|
|
8
|
+
* [Pat McNally (patmcnally)](https://github.com/patmcnally) for [PR #38](https://github.com/jasonroelofs/rice/pull/38)
|
|
9
|
+
* [Victor Costan (pwnall)](https://github.com/pwnall) for [PR #54](https://github.com/jasonroelofs/rice/pull/54)
|
|
10
|
+
* [Zachary Salzbank (zsalzbank)](https://github.com/zsalzbank) for [PR #55](https://github.com/jasonroelofs/rice/pull/55)
|
|
11
|
+
* [Chai Zhenhua (chaizhenhua)](https://github.com/jasonroelofs/rice/pull/58) for [PR #58](https://github.com/jasonroelofs/rice/pull/58)
|
|
12
|
+
* [Alexander Rüedlinger (lexruee)](https://github.com/lexruee) for [PR #81](https://github.com/jasonroelofs/rice/pull/81)
|
|
13
|
+
* [ryannevell](https://github.com/ryannevell) for [PR #98](https://github.com/jasonroelofs/rice/pull/98)
|
|
14
|
+
* [Samu Voutilainen (smarre)](https://github.com/Smarre) for [PR #102](https://github.com/jasonroelofs/rice/pull/102)
|
|
15
|
+
* [Harald Sitter (apachelogger)](https://github.com/apachelogger) for [PR #104](https://github.com/jasonroelofs/rice/pull/104)
|
|
16
|
+
* [nobu](https://github.com/nobu) for [PR #122](https://github.com/jasonroelofs/rice/pull/122)
|
|
17
|
+
* [Charlie Savage (cfis)](https://github.com/cfis) for multiple improvements and modernizations: [#130](https://github.com/jasonroelofs/rice/pull/130), [#131](https://github.com/jasonroelofs/rice/pull/131), [#133](https://github.com/jasonroelofs/rice/pull/133), [#134](https://github.com/jasonroelofs/rice/pull/134), [#136](https://github.com/jasonroelofs/rice/pull/136), [#137](https://github.com/jasonroelofs/rice/pull/137), [#140](https://github.com/jasonroelofs/rice/pull/140), [#141](https://github.com/jasonroelofs/rice/pull/141) and many others, including the work to make Rice header-only.
|
|
18
|
+
* [Atsushi Tatsuma (yoshoku)](https://github.com/yoshoku) for [#135](https://github.com/jasonroelofs/rice/pull/135)
|
|
19
|
+
* [Andrew Kane (ankane)](https://github.com/ankane) for helping [test Rice 4](https://github.com/jasonroelofs/rice/issues/149).
|
data/Gemfile
ADDED