| Adrian Taylor | 9fc0846 | 2020-08-14 10:51:00 -0700 | [diff] [blame^] | 1 | //! The CXX code generator for constructing and compiling C++ code. |
| 2 | //! |
| 3 | //! This is intended to be embedded into higher-level code generators. |
| 4 | |
| 5 | mod gen; |
| 6 | mod syntax; |
| 7 | |
| 8 | use crate::gen::Opt; |
| 9 | use proc_macro2::TokenStream; |
| 10 | |
| 11 | pub use crate::gen::{Error, Result, GeneratedCode}; |
| 12 | |
| 13 | /// Generate C++ bindings code from a Rust token stream. This should be a Rust |
| 14 | /// token stream which somewhere contains a `#[cxx::bridge] mod {}`. |
| 15 | pub fn generate_header_and_cc(rust_source: TokenStream) -> Result<GeneratedCode> { |
| 16 | gen::do_generate_from_tokens(rust_source, Opt::default()) |
| 17 | } |