Struct arrow::ffi::ArrowArray [−][src]
pub struct ArrowArray { /* fields omitted */ }
Expand description
Struct used to move an Array from and to the C Data Interface. Its main responsibility is to expose functionality that requires both FFI_ArrowArray and FFI_ArrowSchema.
This struct has two main paths:
Import from the C Data Interface
- ArrowArray::empty to allocate memory to be filled by an external call
- ArrowArray::try_from_raw to consume two non-null allocated pointers
Export to the C Data Interface
- ArrowArray::try_new to create a new ArrowArray from Rust-specific information
- ArrowArray::into_raw to expose two pointers for FFI_ArrowArray and FFI_ArrowSchema.
Safety
Whoever creates this struct is responsible for releasing their resources. Specifically, consumers must call ArrowArray::into_raw and take ownership of the individual pointers, calling FFI_ArrowArray::release and FFI_ArrowSchema::release accordingly.
Furthermore, this struct assumes that the incoming data agrees with the C data interface.
Implementations
creates a new ArrowArray
. This is used to export to the C Data Interface.
Safety
See safety of ArrowArray
pub unsafe fn try_from_raw(
array: *const FFI_ArrowArray,
schema: *const FFI_ArrowSchema
) -> Result<Self>
pub unsafe fn try_from_raw(
array: *const FFI_ArrowArray,
schema: *const FFI_ArrowSchema
) -> Result<Self>
creates a new ArrowArray from two pointers. Used to import from the C Data Interface.
Safety
See safety of ArrowArray
Error
Errors if any of the pointers is null
creates a new empty ArrowArray. Used to import from the C Data Interface.
Safety
See safety of ArrowArray
exports ArrowArray to the C Data Interface
Trait Implementations
returns all buffers, as organized by Rust (i.e. null buffer is skipped)
Returns the length, in bytes, of the buffer i
(indexed according to the C data interface)
returns the null bit buffer. Rust implementation uses a buffer that is not part of the array of buffers. The C Data interface’s null buffer is part of the array of buffers. Read more
type Error = ArrowError
type Error = ArrowError
The type returned in the event of a conversion error.
Performs the conversion.