Rice - Ruby Interface for C++ Extensions# Introduction Version Differences 3.x vs 4.x and later Project Details Installation Tutorial Getting started Defining Classes Defining methods Defining methods with lambdas Defining functions Wrapping C++ Types Defining attributes Type conversions Conversions for wrapped C++ types Exceptions Bindings Functions and Methods Overloaded Methods Iterators Memory Management Exceptions Types Overview Type Conversions Type Verification Inheritance Instance Registry STL STL std::complex std::map std::optional std::pair std::reference_wrapper Smart Pointers std::string std::string_view std::unordered_map std::variant std::vector C++ API Ruby C++ API Migrating from 3 to 4 #include <rice/rice.hpp> to_ruby / from_ruby Functions vs Methods Default Arguments Memory Management Why Rice? Motivation History