tree: ac26c8ab39f43187bcde94f13e1f1a2b5219aeaa [path history] [tgz]
  1. cc_import/
  2. cc_std/
  3. cc_template/
  4. ffi_11/
  5. internal/
  6. rs_std/
  7. stable_fallback/
  8. annotations.h
  9. bridge.h
  10. bridge.rs
  11. bridge_test.cc
  12. BUILD
  13. crubit_annotate.rs
  14. crubit_annotate_test.rs
  15. ctor.rs
  16. ctor_macro_test.rs
  17. ctor_proc_macros.rs
  18. ctor_proc_macros_test.rs
  19. forward_declare.rs
  20. forward_declare_macros_test.rs
  21. forward_declare_proc_macros.rs
  22. forward_declare_unstable_test.rs
  23. oops.rs
  24. README.md
  25. status_bridge.cc
  26. status_bridge.h
  27. 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.