tree: 9b1f082a80bb78d4e1486782da2d998d0239b9c4 [path history] [tgz]
  1. cc_import/
  2. cc_std/
  3. cc_std_impl/
  4. cc_template/
  5. ffi_11/
  6. internal/
  7. rs_std/
  8. stable_fallback/
  9. annotations.h
  10. annotations.swig
  11. annotations_internal.h
  12. bridge.h
  13. bridge.rs
  14. bridge_test.cc
  15. BUILD
  16. crubit_annotate.rs
  17. crubit_annotate_test.rs
  18. ctor.rs
  19. ctor_macro_test.rs
  20. ctor_proc_macros.rs
  21. ctor_proc_macros_test.rs
  22. forward_declare.rs
  23. forward_declare_macros_test.rs
  24. forward_declare_proc_macros.rs
  25. forward_declare_unstable_test.rs
  26. oops.rs
  27. README.md
  28. status_bridge.cc
  29. status_bridge.h
  30. status_bridge_test.cc
support/README.md

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.