diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/arrow/c_glib/arrow-glib/scalar.h | |
parent | Initial commit. (diff) | |
download | ceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/arrow/c_glib/arrow-glib/scalar.h')
-rw-r--r-- | src/arrow/c_glib/arrow-glib/scalar.h | 683 |
1 files changed, 683 insertions, 0 deletions
diff --git a/src/arrow/c_glib/arrow-glib/scalar.h b/src/arrow/c_glib/arrow-glib/scalar.h new file mode 100644 index 000000000..a110d1c5e --- /dev/null +++ b/src/arrow/c_glib/arrow-glib/scalar.h @@ -0,0 +1,683 @@ +/* + * 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/array.h> + +G_BEGIN_DECLS + +typedef struct _GArrowCastOptions GArrowCastOptions; + +#define GARROW_TYPE_SCALAR (garrow_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowScalar, + garrow_scalar, + GARROW, + SCALAR, + GObject) +struct _GArrowScalarClass +{ + GObjectClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowScalar * +garrow_scalar_parse(GArrowDataType *data_type, + const guint8 *data, + gsize size, + GError **error); + +GARROW_AVAILABLE_IN_5_0 +GArrowDataType * +garrow_scalar_get_data_type(GArrowScalar *scalar); +GARROW_AVAILABLE_IN_5_0 +gboolean +garrow_scalar_is_valid(GArrowScalar *scalar); +GARROW_AVAILABLE_IN_5_0 +gboolean +garrow_scalar_equal(GArrowScalar *scalar, + GArrowScalar *other_scalar); +GARROW_AVAILABLE_IN_5_0 +gboolean +garrow_scalar_equal_options(GArrowScalar *scalar, + GArrowScalar *other_scalar, + GArrowEqualOptions *options); +GARROW_AVAILABLE_IN_5_0 +gchar * +garrow_scalar_to_string(GArrowScalar *scalar); + +GARROW_AVAILABLE_IN_5_0 +GArrowScalar * +garrow_scalar_cast(GArrowScalar *scalar, + GArrowDataType *data_type, + GArrowCastOptions *options, + GError **error); + + +#define GARROW_TYPE_NULL_SCALAR (garrow_null_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowNullScalar, + garrow_null_scalar, + GARROW, + NULL_SCALAR, + GArrowScalar) +struct _GArrowNullScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowNullScalar * +garrow_null_scalar_new(void); + + +#define GARROW_TYPE_BOOLEAN_SCALAR (garrow_boolean_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowBooleanScalar, + garrow_boolean_scalar, + GARROW, + BOOLEAN_SCALAR, + GArrowScalar) +struct _GArrowBooleanScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowBooleanScalar * +garrow_boolean_scalar_new(gboolean value); +GARROW_AVAILABLE_IN_5_0 +gboolean +garrow_boolean_scalar_get_value(GArrowBooleanScalar *scalar); + + +#define GARROW_TYPE_INT8_SCALAR (garrow_int8_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowInt8Scalar, + garrow_int8_scalar, + GARROW, + INT8_SCALAR, + GArrowScalar) +struct _GArrowInt8ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowInt8Scalar * +garrow_int8_scalar_new(gint8 value); +GARROW_AVAILABLE_IN_5_0 +gint8 +garrow_int8_scalar_get_value(GArrowInt8Scalar *scalar); + + +#define GARROW_TYPE_INT16_SCALAR (garrow_int16_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowInt16Scalar, + garrow_int16_scalar, + GARROW, + INT16_SCALAR, + GArrowScalar) +struct _GArrowInt16ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowInt16Scalar * +garrow_int16_scalar_new(gint16 value); +GARROW_AVAILABLE_IN_5_0 +gint16 +garrow_int16_scalar_get_value(GArrowInt16Scalar *scalar); + + +#define GARROW_TYPE_INT32_SCALAR (garrow_int32_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowInt32Scalar, + garrow_int32_scalar, + GARROW, + INT32_SCALAR, + GArrowScalar) +struct _GArrowInt32ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowInt32Scalar * +garrow_int32_scalar_new(gint32 value); +GARROW_AVAILABLE_IN_5_0 +gint32 +garrow_int32_scalar_get_value(GArrowInt32Scalar *scalar); + + +#define GARROW_TYPE_INT64_SCALAR (garrow_int64_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowInt64Scalar, + garrow_int64_scalar, + GARROW, + INT64_SCALAR, + GArrowScalar) +struct _GArrowInt64ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowInt64Scalar * +garrow_int64_scalar_new(gint64 value); +GARROW_AVAILABLE_IN_5_0 +gint64 +garrow_int64_scalar_get_value(GArrowInt64Scalar *scalar); + + +#define GARROW_TYPE_UINT8_SCALAR (garrow_uint8_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowUInt8Scalar, + garrow_uint8_scalar, + GARROW, + UINT8_SCALAR, + GArrowScalar) +struct _GArrowUInt8ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowUInt8Scalar * +garrow_uint8_scalar_new(guint8 value); +GARROW_AVAILABLE_IN_5_0 +guint8 +garrow_uint8_scalar_get_value(GArrowUInt8Scalar *scalar); + + +#define GARROW_TYPE_UINT16_SCALAR (garrow_uint16_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowUInt16Scalar, + garrow_uint16_scalar, + GARROW, + UINT16_SCALAR, + GArrowScalar) +struct _GArrowUInt16ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowUInt16Scalar * +garrow_uint16_scalar_new(guint16 value); +GARROW_AVAILABLE_IN_5_0 +guint16 +garrow_uint16_scalar_get_value(GArrowUInt16Scalar *scalar); + + +#define GARROW_TYPE_UINT32_SCALAR (garrow_uint32_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowUInt32Scalar, + garrow_uint32_scalar, + GARROW, + UINT32_SCALAR, + GArrowScalar) +struct _GArrowUInt32ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowUInt32Scalar * +garrow_uint32_scalar_new(guint32 value); +GARROW_AVAILABLE_IN_5_0 +guint32 +garrow_uint32_scalar_get_value(GArrowUInt32Scalar *scalar); + + +#define GARROW_TYPE_UINT64_SCALAR (garrow_uint64_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowUInt64Scalar, + garrow_uint64_scalar, + GARROW, + UINT64_SCALAR, + GArrowScalar) +struct _GArrowUInt64ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowUInt64Scalar * +garrow_uint64_scalar_new(guint64 value); +GARROW_AVAILABLE_IN_5_0 +guint64 +garrow_uint64_scalar_get_value(GArrowUInt64Scalar *scalar); + + +#define GARROW_TYPE_FLOAT_SCALAR (garrow_float_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowFloatScalar, + garrow_float_scalar, + GARROW, + FLOAT_SCALAR, + GArrowScalar) +struct _GArrowFloatScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowFloatScalar * +garrow_float_scalar_new(gfloat value); +GARROW_AVAILABLE_IN_5_0 +gfloat +garrow_float_scalar_get_value(GArrowFloatScalar *scalar); + + +#define GARROW_TYPE_DOUBLE_SCALAR (garrow_double_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowDoubleScalar, + garrow_double_scalar, + GARROW, + DOUBLE_SCALAR, + GArrowScalar) +struct _GArrowDoubleScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowDoubleScalar * +garrow_double_scalar_new(gdouble value); +GARROW_AVAILABLE_IN_5_0 +gdouble +garrow_double_scalar_get_value(GArrowDoubleScalar *scalar); + + +#define GARROW_TYPE_BASE_BINARY_SCALAR (garrow_base_binary_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowBaseBinaryScalar, + garrow_base_binary_scalar, + GARROW, + BASE_BINARY_SCALAR, + GArrowScalar) +struct _GArrowBaseBinaryScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowBuffer * +garrow_base_binary_scalar_get_value(GArrowBaseBinaryScalar *scalar); + + +#define GARROW_TYPE_BINARY_SCALAR (garrow_binary_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowBinaryScalar, + garrow_binary_scalar, + GARROW, + BINARY_SCALAR, + GArrowBaseBinaryScalar) +struct _GArrowBinaryScalarClass +{ + GArrowBaseBinaryScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowBinaryScalar * +garrow_binary_scalar_new(GArrowBuffer *value); + + +#define GARROW_TYPE_STRING_SCALAR (garrow_string_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowStringScalar, + garrow_string_scalar, + GARROW, + STRING_SCALAR, + GArrowBaseBinaryScalar) +struct _GArrowStringScalarClass +{ + GArrowBaseBinaryScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowStringScalar * +garrow_string_scalar_new(GArrowBuffer *value); + + +#define GARROW_TYPE_LARGE_BINARY_SCALAR (garrow_large_binary_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowLargeBinaryScalar, + garrow_large_binary_scalar, + GARROW, + LARGE_BINARY_SCALAR, + GArrowBaseBinaryScalar) +struct _GArrowLargeBinaryScalarClass +{ + GArrowBaseBinaryScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowLargeBinaryScalar * +garrow_large_binary_scalar_new(GArrowBuffer *value); + + +#define GARROW_TYPE_LARGE_STRING_SCALAR (garrow_large_string_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowLargeStringScalar, + garrow_large_string_scalar, + GARROW, + LARGE_STRING_SCALAR, + GArrowBaseBinaryScalar) +struct _GArrowLargeStringScalarClass +{ + GArrowBaseBinaryScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowLargeStringScalar * +garrow_large_string_scalar_new(GArrowBuffer *value); + + +#define GARROW_TYPE_FIXED_SIZE_BINARY_SCALAR \ + (garrow_fixed_size_binary_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowFixedSizeBinaryScalar, + garrow_fixed_size_binary_scalar, + GARROW, + FIXED_SIZE_BINARY_SCALAR, + GArrowBaseBinaryScalar) +struct _GArrowFixedSizeBinaryScalarClass +{ + GArrowBaseBinaryScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowFixedSizeBinaryScalar * +garrow_fixed_size_binary_scalar_new(GArrowFixedSizeBinaryDataType *data_type, + GArrowBuffer *value); + + +#define GARROW_TYPE_DATE32_SCALAR (garrow_date32_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowDate32Scalar, + garrow_date32_scalar, + GARROW, + DATE32_SCALAR, + GArrowScalar) +struct _GArrowDate32ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowDate32Scalar * +garrow_date32_scalar_new(gint32 value); +GARROW_AVAILABLE_IN_5_0 +gint32 +garrow_date32_scalar_get_value(GArrowDate32Scalar *scalar); + + +#define GARROW_TYPE_DATE64_SCALAR (garrow_date64_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowDate64Scalar, + garrow_date64_scalar, + GARROW, + DATE64_SCALAR, + GArrowScalar) +struct _GArrowDate64ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowDate64Scalar * +garrow_date64_scalar_new(gint64 value); +GARROW_AVAILABLE_IN_5_0 +gint64 +garrow_date64_scalar_get_value(GArrowDate64Scalar *scalar); + + +#define GARROW_TYPE_TIME32_SCALAR (garrow_time32_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowTime32Scalar, + garrow_time32_scalar, + GARROW, + TIME32_SCALAR, + GArrowScalar) +struct _GArrowTime32ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowTime32Scalar * +garrow_time32_scalar_new(GArrowTime32DataType *data_type, + gint32 value); +GARROW_AVAILABLE_IN_5_0 +gint32 +garrow_time32_scalar_get_value(GArrowTime32Scalar *scalar); + + +#define GARROW_TYPE_TIME64_SCALAR (garrow_time64_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowTime64Scalar, + garrow_time64_scalar, + GARROW, + TIME64_SCALAR, + GArrowScalar) +struct _GArrowTime64ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowTime64Scalar * +garrow_time64_scalar_new(GArrowTime64DataType *data_type, + gint64 value); +GARROW_AVAILABLE_IN_5_0 +gint64 +garrow_time64_scalar_get_value(GArrowTime64Scalar *scalar); + + +#define GARROW_TYPE_TIMESTAMP_SCALAR (garrow_timestamp_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowTimestampScalar, + garrow_timestamp_scalar, + GARROW, + TIMESTAMP_SCALAR, + GArrowScalar) +struct _GArrowTimestampScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowTimestampScalar * +garrow_timestamp_scalar_new(GArrowTimestampDataType *data_type, + gint64 value); +GARROW_AVAILABLE_IN_5_0 +gint64 +garrow_timestamp_scalar_get_value(GArrowTimestampScalar *scalar); + + +#define GARROW_TYPE_DECIMAL128_SCALAR (garrow_decimal128_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowDecimal128Scalar, + garrow_decimal128_scalar, + GARROW, + DECIMAL128_SCALAR, + GArrowScalar) +struct _GArrowDecimal128ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowDecimal128Scalar * +garrow_decimal128_scalar_new(GArrowDecimal128DataType *data_type, + GArrowDecimal128 *value); +GARROW_AVAILABLE_IN_5_0 +GArrowDecimal128 * +garrow_decimal128_scalar_get_value(GArrowDecimal128Scalar *scalar); + + +#define GARROW_TYPE_DECIMAL256_SCALAR (garrow_decimal256_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowDecimal256Scalar, + garrow_decimal256_scalar, + GARROW, + DECIMAL256_SCALAR, + GArrowScalar) +struct _GArrowDecimal256ScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowDecimal256Scalar * +garrow_decimal256_scalar_new(GArrowDecimal256DataType *data_type, + GArrowDecimal256 *value); +GARROW_AVAILABLE_IN_5_0 +GArrowDecimal256 * +garrow_decimal256_scalar_get_value(GArrowDecimal256Scalar *scalar); + + +#define GARROW_TYPE_BASE_LIST_SCALAR (garrow_base_list_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowBaseListScalar, + garrow_base_list_scalar, + GARROW, + BASE_LIST_SCALAR, + GArrowScalar) +struct _GArrowBaseListScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowArray * +garrow_base_list_scalar_get_value(GArrowBaseListScalar *scalar); + +#define GARROW_TYPE_LIST_SCALAR (garrow_list_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowListScalar, + garrow_list_scalar, + GARROW, + LIST_SCALAR, + GArrowBaseListScalar) +struct _GArrowListScalarClass +{ + GArrowBaseListScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowListScalar * +garrow_list_scalar_new(GArrowListArray *value); + + +#define GARROW_TYPE_LARGE_LIST_SCALAR (garrow_large_list_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowLargeListScalar, + garrow_large_list_scalar, + GARROW, + LARGE_LIST_SCALAR, + GArrowBaseListScalar) +struct _GArrowLargeListScalarClass +{ + GArrowBaseListScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowLargeListScalar * +garrow_large_list_scalar_new(GArrowLargeListArray *value); + + +#define GARROW_TYPE_MAP_SCALAR (garrow_map_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowMapScalar, + garrow_map_scalar, + GARROW, + MAP_SCALAR, + GArrowBaseListScalar) +struct _GArrowMapScalarClass +{ + GArrowBaseListScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowMapScalar * +garrow_map_scalar_new(GArrowStructArray *value); + + +#define GARROW_TYPE_STRUCT_SCALAR (garrow_struct_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowStructScalar, + garrow_struct_scalar, + GARROW, + STRUCT_SCALAR, + GArrowScalar) +struct _GArrowStructScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowStructScalar * +garrow_struct_scalar_new(GArrowStructDataType *data_type, + GList *value); +GARROW_AVAILABLE_IN_5_0 +GList * +garrow_struct_scalar_get_value(GArrowStructScalar *scalar); + + +#define GARROW_TYPE_UNION_SCALAR (garrow_union_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowUnionScalar, + garrow_union_scalar, + GARROW, + UNION_SCALAR, + GArrowScalar) +struct _GArrowUnionScalarClass +{ + GArrowScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_6_0 +gint8 +garrow_union_scalar_get_type_code(GArrowUnionScalar *scalar); +GARROW_AVAILABLE_IN_5_0 +GArrowScalar * +garrow_union_scalar_get_value(GArrowUnionScalar *scalar); + + +#define GARROW_TYPE_SPARSE_UNION_SCALAR (garrow_sparse_union_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowSparseUnionScalar, + garrow_sparse_union_scalar, + GARROW, + SPARSE_UNION_SCALAR, + GArrowUnionScalar) +struct _GArrowSparseUnionScalarClass +{ + GArrowUnionScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowSparseUnionScalar * +garrow_sparse_union_scalar_new(GArrowSparseUnionDataType *data_type, + gint8 type_code, + GArrowScalar *value); + + +#define GARROW_TYPE_DENSE_UNION_SCALAR (garrow_dense_union_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowDenseUnionScalar, + garrow_dense_union_scalar, + GARROW, + DENSE_UNION_SCALAR, + GArrowUnionScalar) +struct _GArrowDenseUnionScalarClass +{ + GArrowUnionScalarClass parent_class; +}; + +GARROW_AVAILABLE_IN_5_0 +GArrowDenseUnionScalar * +garrow_dense_union_scalar_new(GArrowDenseUnionDataType *data_type, + gint8 type_code, + GArrowScalar *value); + + +#define GARROW_TYPE_EXTENSION_SCALAR (garrow_extension_scalar_get_type()) +G_DECLARE_DERIVABLE_TYPE(GArrowExtensionScalar, + garrow_extension_scalar, + GARROW, + EXTENSION_SCALAR, + GArrowScalar) +struct _GArrowExtensionScalarClass +{ + GArrowScalarClass parent_class; +}; + +G_END_DECLS |