• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vortex-data / vortex / 16370902322 / 2
88%
develop: 88%

Build:
DEFAULT BRANCH: develop
Ran 18 Jul 2025 12:52PM UTC
Files 585
Run time 17s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Jul 2025 12:46PM UTC coverage: 78.761% (-0.03%) from 78.787%
16370902322.2

push

github

web-flow
Vortex - C++ API (#3792)

This PR uses the cxx crate to bridge Rust and C++. The trade-offs
between cxx and directly wrapping the vortex-ffi C API is roughly the
follows:

Pros of cxx:
1. Safety is guaranteed by cxx, no need to directly use the unsafe C API
(not all cases though). In a sense that the Rust-side code is easier to
write and maintain.
2. Better ergonomic by providing Rust data structure
[bindings](https://cxx.rs/bindings.html) with RAII support in C++ like
`rust::Box` and `rust::Str` .

Cons:
1. Less flexibility because we cannot control what FFI is generated, and
we may lack some type bindings support across the FFI.
2. May eventually have duplicate code as `vortex-ffi`

I also tried to find best practices in other repos and seems
[opendal](https://github.com/apache/opendal/tree/main/bindings) uses cxx
for C++ and cbindgen for C with separate code paths, too. I think we can
follow the same approach at least for now for a limited C++ API (e.g.,
to/from Arrow). We can refactor if we need direct-access to C FFI in the
future.

*The first PR intends to setup a C++ directory structure and convention
instead of fixing to use cxx.*

cc @royguo

---------

Signed-off-by: Xinyu Zeng <xinyuzeng@tencent.com>
Co-authored-by: Robert Kruszewski <github@robertk.io>

40766 of 51759 relevant lines covered (78.76%)

59371.66 hits per line

Source Files on job run-tests - 16370902322.2
  • Tree
  • List 585
  • Changed 2
  • Source Changed 2
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 16370902322
  • d5e08e71 on github
  • Prev Job for on develop (#16370684487.1)
  • Next Job for on develop (#16371313344.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc