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

Arrow C Data Interface interop for SignetStack Signet Forge. More...

#include "signet/ai/tensor_bridge.hpp"
#include "signet/types.hpp"
#include "signet/error.hpp"
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <memory>
#include <string>

Go to the source code of this file.

Classes

struct  ArrowSchema
 Schema description for a single Arrow array/column. More...
 
struct  ArrowArray
 Data payload for a single Arrow array. More...
 
struct  signet::forge::detail::ArrowSchemaPrivate
 Heap-allocated context attached to ArrowSchema.private_data. More...
 
struct  signet::forge::detail::ArrowArrayPrivate
 Heap-allocated context attached to ArrowArray.private_data. More...
 
class  signet::forge::ArrowExporter
 Exports Signet Forge tensors and columns as Arrow C Data Interface structs. More...
 
class  signet::forge::ArrowImporter
 Imports Arrow C Data Interface arrays into Signet TensorView or OwnedTensor. More...
 

Namespaces

namespace  signet
 
namespace  signet::forge
 
namespace  signet::forge::detail
 Internal implementation details for dictionary encoding.
 

Macros

Arrow C Data Interface structs (standard ABI)

These are the canonical struct definitions from the Arrow specification.

Any library that speaks the Arrow C Data Interface can consume them. They use C linkage (extern "C") for maximum FFI compatibility.

#define SIGNET_ARROW_C_DATA_DEFINED
 

Functions

void signet::forge::detail::release_arrow_schema (ArrowSchema *schema)
 Release callback for ArrowSchema.
 
void signet::forge::detail::release_arrow_array (ArrowArray *array)
 Release callback for ArrowArray.
 
Format string mappings

Conversion functions between Parquet/Tensor types and Arrow format strings.

const char * signet::forge::parquet_to_arrow_format (PhysicalType pt)
 Map a Parquet PhysicalType to an Arrow format string.
 
const char * signet::forge::tensor_dtype_to_arrow_format (TensorDataType dtype)
 Map a TensorDataType to an Arrow format string.
 
expected< TensorDataTypesignet::forge::arrow_format_to_tensor_dtype (const char *format)
 Map an Arrow format string to a TensorDataType.
 
expected< TensorDataTypesignet::forge::physical_to_tensor_dtype (PhysicalType pt)
 Map a PhysicalType to a TensorDataType (for column export).
 
size_t signet::forge::physical_type_byte_size (PhysicalType pt)
 Return the byte size for a PhysicalType (primitive types only).
 

Detailed Description

Arrow C Data Interface interop for SignetStack Signet Forge.

Import/export Arrow arrays WITHOUT linking to Apache Arrow. Uses the standard Arrow C Data Interface ABI (two plain C structs) defined at: https://arrow.apache.org/docs/format/CDataInterface.html

Zero-copy for numeric types: ArrowArray.buffers[1] points directly into tensor/column data. The release() callbacks clean up any helper state.

Header-only. Part of the signet::forge interop module (Phase 6).

See also
ArrowExporter, ArrowImporter
https://arrow.apache.org/docs/format/CDataInterface.html

Definition in file arrow_bridge.hpp.

Macro Definition Documentation

◆ SIGNET_ARROW_C_DATA_DEFINED

#define SIGNET_ARROW_C_DATA_DEFINED

Definition at line 37 of file arrow_bridge.hpp.