tree: 1d8318567f5c9e8cf49366fa19da85bed6c58298 [path history] [tgz]
  1. cpp/
  2. rust/
  3. README.md
examples/README.md

Examples of using Crubit

The examples/ directory contains copy-pastable example snippets. examples/cpp/ contains example C++ header files, and how to call them from Rust -- for example, examples/cpp/function shows how to call a C++ function from Rust. examples/rust contains example Rust modules, and how to call them from C++.

In every case, examples have the following files:

  1. The original Rust/C++ file that will be used, called either example.h or example.rs
  2. An example usage of that file via FFI using Crubit, called either main.rs or main.cc.
  3. A copy of the code that Crubit generates at runtime, called either example_generated.rs or example_generated.h. This isn't something you should ever use directly, it is only here for exposition. (The checked-in copies of what Crubit generates are kept in sync using a golden test framework, but ordinarily, you will use the C++ header / Rust module that Crubit generates on the fly, dynamically.)