Skip to content

[C++] Define minimalist C structs for exposing Arrow data types to C code #16649

@asfimport

Description

@asfimport

This can also accompany an alternate IPC loader which does not use shared_ptr<Buffer> or other currently-in-use tools for RAII-based object lifetime.

For example, we would be able to expose arrow::StringArray to C code in a struct like

typedef struct {
  int64_t length;
  int64_t offset;
  int64_t null_count;
  const uint8_t* valid_bits;
} arrow_array_t;

typedef struct {
  struct arrow_array_t base;
  const int32_t* offsets;
  const uint8_t* data;
} arrow_string_array_t;

Reporter: Wes McKinney / @wesm

Note: This issue was originally created as ARROW-1058. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions