Skip to main content

spatialrust_arrow/
lib.rs

1//! Audited Arrow C Data / Stream / Device adapters for SpatialRust records.
2//!
3//! `spatialrust-core` remains Arrow-free. This crate owns the C ABI and all
4//! `unsafe` release callbacks at the export/import boundary.
5
6#![warn(missing_docs)]
7
8#[cfg(feature = "arrow-c-data")]
9mod cdata;
10#[cfg(feature = "arrow-c-device")]
11mod device;
12#[cfg(feature = "arrow-c-data")]
13mod error;
14#[cfg(feature = "arrow-c-stream")]
15mod stream;
16
17#[cfg(feature = "arrow-c-data")]
18pub use cdata::{
19    export_point_cloud_c_data, import_point_cloud_c_data, ArrowArray, ArrowSchema,
20    ExportedArrowArray, ExportedArrowSchema,
21};
22#[cfg(feature = "arrow-c-device")]
23pub use device::{
24    export_point_cloud_device_array, import_point_cloud_device_array, ArrowDeviceArray,
25    ArrowDeviceType, ExportedArrowDeviceArray,
26};
27#[cfg(feature = "arrow-c-data")]
28pub use error::{ArrowBridgeError, ArrowBridgeResult};
29#[cfg(feature = "arrow-c-stream")]
30pub use stream::{export_record_source_c_stream, ArrowArrayStream, ExportedArrowArrayStream};