Discussion:
[ANN] Rice 4.0.2 Released!
Jason Roelofs
2021-05-19 13:35:20 UTC
Permalink
Rice is a C++ header-only library that serves dual purposes. First, it makes it much
easier to create Ruby bindings for existing C++ libraries. Second, it provides an
object oriented interface to Ruby's C API that makes it easy to embed Ruby and write
Ruby extensions in C++.

Rice is similar to Boost.Python and pybind11 in that it minimizes boilerplate code needed
to interface with C++. It does this by automatically determining type information allowing
Ruby object to be converted to C++ and vice versa.

What Rice gives you:

- A simple C++-based syntax for wrapping and defining classes
- Automatic type conversions between C++ and Ruby
- Automatic exception conversions between C++ and Ruby
- Smart pointers for handling garbage collection
- Wrappers for most builtin types to simplify calling code

The source is hosted on GitHub: http://github.com/jasonroelofs/rice

Bug tracking: http://github.com/jasonroelofs/rice/issues

Documentation: http://jasonroelofs.github.io/rice

## What's new?

Where as Rice 3 and earlier required some pre-compilation on installation, Rice 4 is now a header-only
library, drastically improving the usability of the library and expanding the places Rice can be used.

Rice 4 also includes built-in support for many of the common STL libraries!

This was a significant amount of work and required some backwards incompatible changes. See the
documentation for more information. Due to this, for those who prefer to stay on Rice 3 we will keep
that version maintained as well.

Unsubscribe: <mailto:ruby-talk-***@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>
Mohit Sindhwani
2021-05-19 16:55:49 UTC
Permalink
Post by Jason Roelofs
Rice is a C++ header-only library that serves dual purposes. First, it makes it much
easier to create Ruby bindings for existing C++ libraries. Second, it provides an
object oriented interface to Ruby's C API that makes it easy to embed Ruby and write
Ruby extensions in C++.
Rice requires a C++17 or later and is tested on Windows
Nice! That's really modern, and it's great to see Windows supported also.

Thanks,
Mohit.


Unsubscribe: <mailto:ruby-talk-***@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>

Continue reading on narkive:
Loading...