# Summary

- [Rust ❤️ C++](index.md)

- [Core concepts](concepts.md)

- [Tutorial](tutorial.md)

- [Other Rust–C++ interop tools](context.md)

- [Multi-language build system options](building.md)
    - [Cargo](build/cargo.md)
    - [Bazel](build/bazel.md)
    - [CMake](build/cmake.md)
    - [More...](build/other.md)

- [Reference: the bridge module](reference.md)
    - [extern "Rust"](extern-rust.md)
    - [extern "C++"](extern-c++.md)
    - [Shared types](shared.md)
    - [Attributes](attributes.md)
    - [Async functions](async.md)
    - [Error handling](binding/result.md)

- [Reference: built-in bindings](bindings.md)
    - [String — rust::String](binding/string.md)
    - [&str — rust::Str](binding/str.md)
    - [&[T], &mut [T] — rust::Slice\<T\>](binding/slice.md)
    - [CxxString — std::string](binding/cxxstring.md)
    - [Box\<T\> — rust::Box\<T\>](binding/box.md)
    - [UniquePtr\<T\> — std::unique\_ptr\<T\>](binding/uniqueptr.md)
    - [SharedPtr\<T\> — std::shared\_ptr\<T\>](binding/sharedptr.md)
    - [Vec\<T\> — rust::Vec\<T\>](binding/vec.md)
    - [CxxVector\<T\> — std::vector\<T\>](binding/cxxvector.md)
    - [*mut T, *const T raw pointers](binding/rawptr.md)
    - [Function pointers](binding/fn.md)
    - [Result\<T\>](binding/result.md)
