Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
DEMO
Loading...
Searching...
No Matches
ArrowArray Struct Reference

Data payload for a single Arrow array. More...

#include <arrow_bridge.hpp>

Public Attributes

int64_t length
 Number of logical elements.
 
int64_t null_count
 Number of null elements (0 if non-nullable)
 
int64_t offset
 Logical offset into buffers.
 
int64_t n_buffers
 Number of buffers (typically 2 for primitives)
 
int64_t n_children
 Number of child arrays (0 for primitives)
 
const void ** buffers
 Buffer pointers (buffers[0]=validity, buffers[1]=data)
 
ArrowArray ** children
 Child array pointers (null if n_children == 0)
 
ArrowArraydictionary
 Dictionary array (null if not dict-encoded)
 
void(* release )(ArrowArray *)
 Release callback (null = already released)
 
void * private_data
 Opaque data for the release callback.
 

Detailed Description

Data payload for a single Arrow array.

Holds the buffer pointers, length, null count, and structure of a single Arrow column or nested array. For primitive types, buffers[0] is the optional validity bitmap and buffers[1] is the data buffer.

The release callback must be called exactly once when the consumer is finished with the array; a null release pointer indicates the array has already been released.

Note
This is a C struct with C linkage – safe to pass across FFI boundaries.
See also
https://arrow.apache.org/docs/format/CDataInterface.html#the-arrowarray-structure

Definition at line 74 of file arrow_bridge.hpp.

Member Data Documentation

◆ buffers

const void** ArrowArray::buffers

Buffer pointers (buffers[0]=validity, buffers[1]=data)

Definition at line 80 of file arrow_bridge.hpp.

◆ children

ArrowArray** ArrowArray::children

Child array pointers (null if n_children == 0)

Definition at line 81 of file arrow_bridge.hpp.

◆ dictionary

ArrowArray* ArrowArray::dictionary

Dictionary array (null if not dict-encoded)

Definition at line 82 of file arrow_bridge.hpp.

◆ length

int64_t ArrowArray::length

Number of logical elements.

Definition at line 75 of file arrow_bridge.hpp.

◆ n_buffers

int64_t ArrowArray::n_buffers

Number of buffers (typically 2 for primitives)

Definition at line 78 of file arrow_bridge.hpp.

◆ n_children

int64_t ArrowArray::n_children

Number of child arrays (0 for primitives)

Definition at line 79 of file arrow_bridge.hpp.

◆ null_count

int64_t ArrowArray::null_count

Number of null elements (0 if non-nullable)

Definition at line 76 of file arrow_bridge.hpp.

◆ offset

int64_t ArrowArray::offset

Logical offset into buffers.

Definition at line 77 of file arrow_bridge.hpp.

◆ private_data

void* ArrowArray::private_data

Opaque data for the release callback.

Definition at line 84 of file arrow_bridge.hpp.

◆ release

void(* ArrowArray::release) (ArrowArray *)

Release callback (null = already released)

Definition at line 83 of file arrow_bridge.hpp.


The documentation for this struct was generated from the following file: