blob: ba125d9803e57e27223edca20dbeda6e988966e9 [file] [log] [blame]
Adrian Taylor9fc08462020-08-14 10:51:00 -07001//! The CXX code generator for constructing and compiling C++ code.
2//!
3//! This is intended to be embedded into higher-level code generators.
4
5mod gen;
6mod syntax;
7
8use crate::gen::Opt;
9use proc_macro2::TokenStream;
10
11pub 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 {}`.
15pub fn generate_header_and_cc(rust_source: TokenStream) -> Result<GeneratedCode> {
16 gen::do_generate_from_tokens(rust_source, Opt::default())
17}