Apache Fluss™ C++ Bindings (Incubating)

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.

Requirements

  • Rust (see rust-toolchain.toml at repo root)
  • C++17-capable compiler
  • CMake 3.18+ and/or Bazel
  • Apache Arrow (for Arrow-based APIs)

Build

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.

TODO