C++ bindings for Fluss, built on top of the fluss-rust client. The API is exposed via a C++ header (include/fluss.hpp) and implemented with Rust FFI.
- Rust (see rust-toolchain.toml at repo root)
- C++17-capable compiler
- CMake 3.18+ and/or Bazel
- Apache Arrow (for Arrow-based APIs)
From the repository root or from bindings/cpp:
With CMake:
cd bindings/cpp
mkdir build && cd build
cmake ..
cmake --build .By default, CMake now uses Release when CMAKE_BUILD_TYPE is not specified.
With Bazel:
cd bindings/cpp
bazel build //...ci.sh defaults to optimized builds via -c opt (override with BAZEL_BUILD_FLAGS if needed).
See ci.sh for the CI build sequence.
- [] How to introduce fluss-cpp in your own project, https://github.com/apache/opendal/blob/main/bindings/cpp/README.md is a good reference
- Add CMake/Bazel install and packaging instructions.
- Document API usage and minimal example in this README.
- Add more C++ examples (log scan, upsert, etc.).