blob: 6ea7802cd167c517889bade63aa9f995c241f352 [file] [log] [blame] [view]
# Crubit runtime support library
This directory contains C++ and Rust libraries needed to support the C++ and
Rust FFI bindings that Crubit's tools generate:
* The C++ and Rust code generated by Crubit's `rs_bindings_from_cc` and
`cc_bindings_from_rs` tools may depend on these libraries. For example,
compile-time assertions related to struct layout in the generated
`..._rs_api.h` depend on `crubit/support/offset_of.h`.
* The C++ and Rust code that uses Crubit-generated bindings may need
to depend on these libraries. For example, Rust code that uses
Crubit-generated bindings for C++ may need to use the `forward_declare` crate
to perform safe casting between forward-declared and fully-defined types.