| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| #pragma once |
| |
| #include <arrow-glib/buffer.h> |
| #include <arrow-glib/basic-data-type.h> |
| |
| G_BEGIN_DECLS |
| |
| #define GARROW_TYPE_ARRAY (garrow_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowArray, |
| garrow_array, |
| GARROW, |
| ARRAY, |
| GObject) |
| struct _GArrowArrayClass |
| { |
| GObjectClass parent_class; |
| }; |
| |
| gboolean garrow_array_equal (GArrowArray *array, |
| GArrowArray *other_array); |
| gboolean garrow_array_equal_approx(GArrowArray *array, |
| GArrowArray *other_array); |
| gboolean garrow_array_equal_range (GArrowArray *array, |
| gint64 start_index, |
| GArrowArray *other_array, |
| gint64 other_start_index, |
| gint64 end_index); |
| |
| gboolean garrow_array_is_null (GArrowArray *array, |
| gint64 i); |
| gboolean garrow_array_is_valid (GArrowArray *array, |
| gint64 i); |
| gint64 garrow_array_get_length (GArrowArray *array); |
| gint64 garrow_array_get_offset (GArrowArray *array); |
| gint64 garrow_array_get_n_nulls (GArrowArray *array); |
| GArrowBuffer *garrow_array_get_null_bitmap(GArrowArray *array); |
| GArrowDataType *garrow_array_get_value_data_type(GArrowArray *array); |
| GArrowType garrow_array_get_value_type(GArrowArray *array); |
| GArrowArray *garrow_array_slice (GArrowArray *array, |
| gint64 offset, |
| gint64 length); |
| gchar *garrow_array_to_string (GArrowArray *array, |
| GError **error); |
| |
| |
| #define GARROW_TYPE_NULL_ARRAY (garrow_null_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowNullArray, |
| garrow_null_array, |
| GARROW, |
| NULL_ARRAY, |
| GArrowArray) |
| struct _GArrowNullArrayClass |
| { |
| GArrowArrayClass parent_class; |
| }; |
| |
| GArrowNullArray *garrow_null_array_new(gint64 length); |
| |
| |
| #define GARROW_TYPE_PRIMITIVE_ARRAY (garrow_primitive_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowPrimitiveArray, |
| garrow_primitive_array, |
| GARROW, |
| PRIMITIVE_ARRAY, |
| GArrowArray) |
| struct _GArrowPrimitiveArrayClass |
| { |
| GArrowArrayClass parent_class; |
| }; |
| |
| GArrowBuffer *garrow_primitive_array_get_buffer(GArrowPrimitiveArray *array); |
| |
| |
| #define GARROW_TYPE_BOOLEAN_ARRAY (garrow_boolean_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowBooleanArray, |
| garrow_boolean_array, |
| GARROW, |
| BOOLEAN_ARRAY, |
| GArrowPrimitiveArray) |
| struct _GArrowBooleanArrayClass |
| { |
| GArrowPrimitiveArrayClass parent_class; |
| }; |
| |
| GArrowBooleanArray *garrow_boolean_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gboolean garrow_boolean_array_get_value (GArrowBooleanArray *array, |
| gint64 i); |
| gboolean *garrow_boolean_array_get_values(GArrowBooleanArray *array, |
| gint64 *length); |
| |
| #define GARROW_TYPE_NUMERIC_ARRAY (garrow_numeric_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowNumericArray, |
| garrow_numeric_array, |
| GARROW, |
| NUMERIC_ARRAY, |
| GArrowPrimitiveArray) |
| struct _GArrowNumericArrayClass |
| { |
| GArrowPrimitiveArrayClass parent_class; |
| }; |
| |
| |
| #define GARROW_TYPE_INT8_ARRAY (garrow_int8_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowInt8Array, |
| garrow_int8_array, |
| GARROW, |
| INT8_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowInt8ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowInt8Array *garrow_int8_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint8 garrow_int8_array_get_value(GArrowInt8Array *array, |
| gint64 i); |
| const gint8 *garrow_int8_array_get_values(GArrowInt8Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_UINT8_ARRAY (garrow_uint8_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowUInt8Array, |
| garrow_uint8_array, |
| GARROW, |
| UINT8_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowUInt8ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowUInt8Array *garrow_uint8_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| guint8 garrow_uint8_array_get_value(GArrowUInt8Array *array, |
| gint64 i); |
| const guint8 *garrow_uint8_array_get_values(GArrowUInt8Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_INT16_ARRAY (garrow_int16_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowInt16Array, |
| garrow_int16_array, |
| GARROW, |
| INT16_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowInt16ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowInt16Array *garrow_int16_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint16 garrow_int16_array_get_value(GArrowInt16Array *array, |
| gint64 i); |
| const gint16 *garrow_int16_array_get_values(GArrowInt16Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_UINT16_ARRAY (garrow_uint16_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowUInt16Array, |
| garrow_uint16_array, |
| GARROW, |
| UINT16_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowUInt16ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowUInt16Array *garrow_uint16_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| guint16 garrow_uint16_array_get_value(GArrowUInt16Array *array, |
| gint64 i); |
| const guint16 *garrow_uint16_array_get_values(GArrowUInt16Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_INT32_ARRAY (garrow_int32_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowInt32Array, |
| garrow_int32_array, |
| GARROW, |
| INT32_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowInt32ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowInt32Array *garrow_int32_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint32 garrow_int32_array_get_value(GArrowInt32Array *array, |
| gint64 i); |
| const gint32 *garrow_int32_array_get_values(GArrowInt32Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_UINT32_ARRAY (garrow_uint32_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowUInt32Array, |
| garrow_uint32_array, |
| GARROW, |
| UINT32_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowUInt32ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowUInt32Array *garrow_uint32_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| guint32 garrow_uint32_array_get_value(GArrowUInt32Array *array, |
| gint64 i); |
| const guint32 *garrow_uint32_array_get_values(GArrowUInt32Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_INT64_ARRAY (garrow_int64_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowInt64Array, |
| garrow_int64_array, |
| GARROW, |
| INT64_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowInt64ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowInt64Array *garrow_int64_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint64 garrow_int64_array_get_value(GArrowInt64Array *array, |
| gint64 i); |
| const gint64 *garrow_int64_array_get_values(GArrowInt64Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_UINT64_ARRAY (garrow_uint64_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowUInt64Array, |
| garrow_uint64_array, |
| GARROW, |
| UINT64_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowUInt64ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowUInt64Array *garrow_uint64_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| guint64 garrow_uint64_array_get_value(GArrowUInt64Array *array, |
| gint64 i); |
| const guint64 *garrow_uint64_array_get_values(GArrowUInt64Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_FLOAT_ARRAY (garrow_float_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowFloatArray, |
| garrow_float_array, |
| GARROW, |
| FLOAT_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowFloatArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowFloatArray *garrow_float_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gfloat garrow_float_array_get_value(GArrowFloatArray *array, |
| gint64 i); |
| const gfloat *garrow_float_array_get_values(GArrowFloatArray *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_DOUBLE_ARRAY (garrow_double_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowDoubleArray, |
| garrow_double_array, |
| GARROW, |
| DOUBLE_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowDoubleArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowDoubleArray *garrow_double_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gdouble garrow_double_array_get_value(GArrowDoubleArray *array, |
| gint64 i); |
| const gdouble *garrow_double_array_get_values(GArrowDoubleArray *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_BINARY_ARRAY (garrow_binary_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowBinaryArray, |
| garrow_binary_array, |
| GARROW, |
| BINARY_ARRAY, |
| GArrowArray) |
| struct _GArrowBinaryArrayClass |
| { |
| GArrowArrayClass parent_class; |
| }; |
| |
| GArrowBinaryArray *garrow_binary_array_new(gint64 length, |
| GArrowBuffer *value_offsets, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| GBytes *garrow_binary_array_get_value(GArrowBinaryArray *array, |
| gint64 i); |
| GArrowBuffer *garrow_binary_array_get_buffer(GArrowBinaryArray *array); |
| GArrowBuffer *garrow_binary_array_get_offsets_buffer(GArrowBinaryArray *array); |
| |
| #define GARROW_TYPE_STRING_ARRAY (garrow_string_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowStringArray, |
| garrow_string_array, |
| GARROW, |
| STRING_ARRAY, |
| GArrowBinaryArray) |
| struct _GArrowStringArrayClass |
| { |
| GArrowBinaryArrayClass parent_class; |
| }; |
| |
| GArrowStringArray *garrow_string_array_new(gint64 length, |
| GArrowBuffer *value_offsets, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gchar *garrow_string_array_get_string(GArrowStringArray *array, |
| gint64 i); |
| |
| |
| #define GARROW_TYPE_DATE32_ARRAY (garrow_date32_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowDate32Array, |
| garrow_date32_array, |
| GARROW, |
| DATE32_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowDate32ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowDate32Array *garrow_date32_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint32 garrow_date32_array_get_value(GArrowDate32Array *array, |
| gint64 i); |
| const gint32 *garrow_date32_array_get_values(GArrowDate32Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_DATE64_ARRAY (garrow_date64_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowDate64Array, |
| garrow_date64_array, |
| GARROW, |
| DATE64_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowDate64ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowDate64Array *garrow_date64_array_new(gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint64 garrow_date64_array_get_value(GArrowDate64Array *array, |
| gint64 i); |
| const gint64 *garrow_date64_array_get_values(GArrowDate64Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_TIMESTAMP_ARRAY (garrow_timestamp_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowTimestampArray, |
| garrow_timestamp_array, |
| GARROW, |
| TIMESTAMP_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowTimestampArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowTimestampArray *garrow_timestamp_array_new(GArrowTimestampDataType *data_type, |
| gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint64 garrow_timestamp_array_get_value(GArrowTimestampArray *array, |
| gint64 i); |
| const gint64 *garrow_timestamp_array_get_values(GArrowTimestampArray *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_TIME32_ARRAY (garrow_time32_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowTime32Array, |
| garrow_time32_array, |
| GARROW, |
| TIME32_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowTime32ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowTime32Array *garrow_time32_array_new(GArrowTime32DataType *data_type, |
| gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint32 garrow_time32_array_get_value(GArrowTime32Array *array, |
| gint64 i); |
| const gint32 *garrow_time32_array_get_values(GArrowTime32Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_TIME64_ARRAY (garrow_time64_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowTime64Array, |
| garrow_time64_array, |
| GARROW, |
| TIME64_ARRAY, |
| GArrowNumericArray) |
| struct _GArrowTime64ArrayClass |
| { |
| GArrowNumericArrayClass parent_class; |
| }; |
| |
| GArrowTime64Array *garrow_time64_array_new(GArrowTime64DataType *data_type, |
| gint64 length, |
| GArrowBuffer *data, |
| GArrowBuffer *null_bitmap, |
| gint64 n_nulls); |
| |
| gint64 garrow_time64_array_get_value(GArrowTime64Array *array, |
| gint64 i); |
| const gint64 *garrow_time64_array_get_values(GArrowTime64Array *array, |
| gint64 *length); |
| |
| |
| #define GARROW_TYPE_FIXED_SIZE_BINARY_ARRAY (garrow_fixed_size_binary_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowFixedSizeBinaryArray, |
| garrow_fixed_size_binary_array, |
| GARROW, |
| FIXED_SIZE_BINARY_ARRAY, |
| GArrowPrimitiveArray) |
| struct _GArrowFixedSizeBinaryArrayClass |
| { |
| GArrowPrimitiveArrayClass parent_class; |
| }; |
| |
| |
| #define GARROW_TYPE_DECIMAL128_ARRAY (garrow_decimal128_array_get_type()) |
| G_DECLARE_DERIVABLE_TYPE(GArrowDecimal128Array, |
| garrow_decimal128_array, |
| GARROW, |
| DECIMAL128_ARRAY, |
| GArrowFixedSizeBinaryArray) |
| struct _GArrowDecimal128ArrayClass |
| { |
| GArrowFixedSizeBinaryArrayClass parent_class; |
| }; |
| |
| gchar *garrow_decimal128_array_format_value(GArrowDecimal128Array *array, |
| gint64 i); |
| GArrowDecimal128 *garrow_decimal128_array_get_value(GArrowDecimal128Array *array, |
| gint64 i); |
| |
| G_END_DECLS |