24#ifndef ARROW_C_DATA_INTERFACE
25# define ARROW_C_DATA_INTERFACE
116 or std::same_as<std::remove_cvref_t<T>,
ArrowSchema>;
122 or std::same_as<std::remove_reference_t<T>,
ArrowSchema*>;
127 or std::same_as<std::remove_reference_t<T>,
ArrowArray*>;
Matches only the C interface structs for Arrow.
Matches ArrowArray or a non-const pointer to an ArrowArray.
Matches ArrowSchema or a non-const pointer to an ArrowSchema.
constexpr auto owns_arrow_data
Useful shortcut value to specify full owning of handled Arrow data.
constexpr auto doesnt_own_arrow_data
Useful shortcut value to specify non-owning handled Arrow data.
ownership
Specifies the ownership model when passing Arrow data to another system.
@ owning
The system handling the related Arrow data owns that data and is responsible for releasing it through...
@ not_owning
The system handling the related Arrow data do not own that data, that system must not and will not re...
void(* release)(struct ArrowArray *)
struct ArrowArray ** children
struct ArrowArray * dictionary
struct ArrowSchema * dictionary
void(* release)(struct ArrowSchema *)
struct ArrowSchema ** children
Specifies the ownership model when passing Arrow data to another system through ArrowArray and ArrowS...
ownership schema
< Specifies if the ownership of the schema data