Lukasz Anforowicz | 0704c1d | 2023-01-17 08:08:39 -0800 | [diff] [blame] | 1 | # Crubit runtime support library |
| 2 | |
| 3 | Disclaimer: This project is experimental, under heavy development, and should |
| 4 | not be used yet. |
| 5 | |
| 6 | This directory contains C++ and Rust libraries needed to support the C++ and |
| 7 | Rust FFI bindings that Crubit's tools generate: |
| 8 | |
| 9 | * The C++ and Rust code generated by Crubit's `rs_bindings_from_cc` and |
| 10 | `cc_bindings_from_rs` tools may depend on these libraries. For example, |
| 11 | compile-time assertions related to struct layout in the generated |
| 12 | `..._rs_api.h` depend on `crubit/support/offset_of.h`. |
| 13 | |
| 14 | * The C++ and Rust code that uses Crubit-generated bindings may need |
| 15 | to depend on these libraries. For example, Rust code that uses |
| 16 | Crubit-generated bindings for C++ may need to use the `forward_declare` crate |
| 17 | to perform safe casting between forward-declared and fully-defined types. |