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.