blob: 6ff6e65d677b880d811636977190a38ccd608554 [file] [log] [blame] [view]
Lukasz Anforowicz0704c1d2023-01-17 08:08:39 -08001# Crubit runtime support library
2
3Disclaimer: This project is experimental, under heavy development, and should
4not be used yet.
5
6This directory contains C++ and Rust libraries needed to support the C++ and
7Rust 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.