]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/arrow/c_glib/gandiva-glib/node.h
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / c_glib / gandiva-glib / node.h
diff --git a/ceph/src/arrow/c_glib/gandiva-glib/node.h b/ceph/src/arrow/c_glib/gandiva-glib/node.h
new file mode 100644 (file)
index 0000000..a16f26c
--- /dev/null
@@ -0,0 +1,395 @@
+/*
+ * 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/arrow-glib.h>
+
+#include <gandiva-glib/version.h>
+
+G_BEGIN_DECLS
+
+#define GGANDIVA_TYPE_NODE (ggandiva_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaNode,
+                         ggandiva_node,
+                         GGANDIVA,
+                         NODE,
+                         GObject)
+
+struct _GGandivaNodeClass
+{
+  GObjectClass parent_class;
+};
+
+gchar *ggandiva_node_to_string(GGandivaNode *node);
+
+
+#define GGANDIVA_TYPE_FIELD_NODE (ggandiva_field_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaFieldNode,
+                         ggandiva_field_node,
+                         GGANDIVA,
+                         FIELD_NODE,
+                         GGandivaNode)
+struct _GGandivaFieldNodeClass
+{
+  GGandivaNodeClass parent_class;
+};
+
+GGandivaFieldNode *ggandiva_field_node_new(GArrowField *field);
+
+
+#define GGANDIVA_TYPE_FUNCTION_NODE (ggandiva_function_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaFunctionNode,
+                         ggandiva_function_node,
+                         GGANDIVA,
+                         FUNCTION_NODE,
+                         GGandivaNode)
+struct _GGandivaFunctionNodeClass
+{
+  GGandivaNodeClass parent_class;
+};
+
+GGandivaFunctionNode *
+ggandiva_function_node_new(const gchar *name,
+                           GList *parameters,
+                           GArrowDataType *return_type);
+GList *
+ggandiva_function_node_get_parameters(GGandivaFunctionNode *node);
+
+
+#define GGANDIVA_TYPE_LITERAL_NODE (ggandiva_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaLiteralNode,
+                         ggandiva_literal_node,
+                         GGANDIVA,
+                         LITERAL_NODE,
+                         GGandivaNode)
+struct _GGandivaLiteralNodeClass
+{
+  GGandivaNodeClass parent_class;
+};
+
+
+#define GGANDIVA_TYPE_NULL_LITERAL_NODE (ggandiva_null_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaNullLiteralNode,
+                         ggandiva_null_literal_node,
+                         GGANDIVA,
+                         NULL_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaNullLiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaNullLiteralNode *
+ggandiva_null_literal_node_new(GArrowDataType *return_type,
+                               GError **error);
+
+
+#define GGANDIVA_TYPE_BOOLEAN_LITERAL_NODE (ggandiva_boolean_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaBooleanLiteralNode,
+                         ggandiva_boolean_literal_node,
+                         GGANDIVA,
+                         BOOLEAN_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaBooleanLiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaBooleanLiteralNode *
+ggandiva_boolean_literal_node_new(gboolean value);
+gboolean
+ggandiva_boolean_literal_node_get_value(GGandivaBooleanLiteralNode *node);
+
+
+#define GGANDIVA_TYPE_INT8_LITERAL_NODE (ggandiva_int8_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaInt8LiteralNode,
+                         ggandiva_int8_literal_node,
+                         GGANDIVA,
+                         INT8_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaInt8LiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaInt8LiteralNode *
+ggandiva_int8_literal_node_new(gint8 value);
+gint8
+ggandiva_int8_literal_node_get_value(GGandivaInt8LiteralNode *node);
+
+
+#define GGANDIVA_TYPE_UINT8_LITERAL_NODE (ggandiva_uint8_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaUInt8LiteralNode,
+                         ggandiva_uint8_literal_node,
+                         GGANDIVA,
+                         UINT8_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaUInt8LiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaUInt8LiteralNode *
+ggandiva_uint8_literal_node_new(guint8 value);
+guint8
+ggandiva_uint8_literal_node_get_value(GGandivaUInt8LiteralNode *node);
+
+
+#define GGANDIVA_TYPE_INT16_LITERAL_NODE (ggandiva_int16_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaInt16LiteralNode,
+                         ggandiva_int16_literal_node,
+                         GGANDIVA,
+                         INT16_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaInt16LiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaInt16LiteralNode *
+ggandiva_int16_literal_node_new(gint16 value);
+gint16
+ggandiva_int16_literal_node_get_value(GGandivaInt16LiteralNode *node);
+
+
+#define GGANDIVA_TYPE_UINT16_LITERAL_NODE (ggandiva_uint16_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaUInt16LiteralNode,
+                         ggandiva_uint16_literal_node,
+                         GGANDIVA,
+                         UINT16_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaUInt16LiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaUInt16LiteralNode *
+ggandiva_uint16_literal_node_new(guint16 value);
+guint16
+ggandiva_uint16_literal_node_get_value(GGandivaUInt16LiteralNode *node);
+
+
+#define GGANDIVA_TYPE_INT32_LITERAL_NODE (ggandiva_int32_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaInt32LiteralNode,
+                         ggandiva_int32_literal_node,
+                         GGANDIVA,
+                         INT32_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaInt32LiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaInt32LiteralNode *
+ggandiva_int32_literal_node_new(gint32 value);
+gint32
+ggandiva_int32_literal_node_get_value(GGandivaInt32LiteralNode *node);
+
+
+#define GGANDIVA_TYPE_UINT32_LITERAL_NODE (ggandiva_uint32_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaUInt32LiteralNode,
+                         ggandiva_uint32_literal_node,
+                         GGANDIVA,
+                         UINT32_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaUInt32LiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaUInt32LiteralNode *
+ggandiva_uint32_literal_node_new(guint32 value);
+guint32
+ggandiva_uint32_literal_node_get_value(GGandivaUInt32LiteralNode *node);
+
+
+#define GGANDIVA_TYPE_INT64_LITERAL_NODE (ggandiva_int64_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaInt64LiteralNode,
+                         ggandiva_int64_literal_node,
+                         GGANDIVA,
+                         INT64_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaInt64LiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaInt64LiteralNode *
+ggandiva_int64_literal_node_new(gint64 value);
+gint64
+ggandiva_int64_literal_node_get_value(GGandivaInt64LiteralNode *node);
+
+
+#define GGANDIVA_TYPE_UINT64_LITERAL_NODE (ggandiva_uint64_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaUInt64LiteralNode,
+                         ggandiva_uint64_literal_node,
+                         GGANDIVA,
+                         UINT64_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaUInt64LiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaUInt64LiteralNode *
+ggandiva_uint64_literal_node_new(guint64 value);
+guint64
+ggandiva_uint64_literal_node_get_value(GGandivaUInt64LiteralNode *node);
+
+
+#define GGANDIVA_TYPE_FLOAT_LITERAL_NODE (ggandiva_float_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaFloatLiteralNode,
+                         ggandiva_float_literal_node,
+                         GGANDIVA,
+                         FLOAT_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaFloatLiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaFloatLiteralNode *
+ggandiva_float_literal_node_new(gfloat value);
+gfloat
+ggandiva_float_literal_node_get_value(GGandivaFloatLiteralNode *node);
+
+
+#define GGANDIVA_TYPE_DOUBLE_LITERAL_NODE (ggandiva_double_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaDoubleLiteralNode,
+                         ggandiva_double_literal_node,
+                         GGANDIVA,
+                         DOUBLE_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaDoubleLiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaDoubleLiteralNode *
+ggandiva_double_literal_node_new(gdouble value);
+gdouble
+ggandiva_double_literal_node_get_value(GGandivaDoubleLiteralNode *node);
+
+
+#define GGANDIVA_TYPE_BINARY_LITERAL_NODE (ggandiva_binary_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaBinaryLiteralNode,
+                         ggandiva_binary_literal_node,
+                         GGANDIVA,
+                         BINARY_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaBinaryLiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaBinaryLiteralNode *
+ggandiva_binary_literal_node_new(const guint8 *value,
+                                 gsize size);
+GGandivaBinaryLiteralNode *
+ggandiva_binary_literal_node_new_bytes(GBytes *value);
+GBytes *
+ggandiva_binary_literal_node_get_value(GGandivaBinaryLiteralNode *node);
+
+
+#define GGANDIVA_TYPE_STRING_LITERAL_NODE (ggandiva_string_literal_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaStringLiteralNode,
+                         ggandiva_string_literal_node,
+                         GGANDIVA,
+                         STRING_LITERAL_NODE,
+                         GGandivaLiteralNode)
+struct _GGandivaStringLiteralNodeClass
+{
+  GGandivaLiteralNodeClass parent_class;
+};
+
+GGandivaStringLiteralNode *
+ggandiva_string_literal_node_new(const gchar *value);
+const gchar *
+ggandiva_string_literal_node_get_value(GGandivaStringLiteralNode *node);
+
+
+#define GGANDIVA_TYPE_IF_NODE (ggandiva_if_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaIfNode,
+                         ggandiva_if_node,
+                         GGANDIVA,
+                         IF_NODE,
+                         GGandivaNode)
+struct _GGandivaIfNodeClass
+{
+  GGandivaNodeClass parent_class;
+};
+
+GGandivaIfNode *
+ggandiva_if_node_new(GGandivaNode *condition_node,
+                     GGandivaNode *then_node,
+                     GGandivaNode *else_node,
+                     GArrowDataType *return_type,
+                     GError **error);
+
+
+#define GGANDIVA_TYPE_BOOLEAN_NODE (ggandiva_boolean_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaBooleanNode,
+                         ggandiva_boolean_node,
+                         GGANDIVA,
+                         BOOLEAN_NODE,
+                         GGandivaNode)
+
+struct _GGandivaBooleanNodeClass
+{
+  GGandivaNodeClass parent_class;
+};
+
+GGANDIVA_AVAILABLE_IN_0_17
+GList *
+ggandiva_boolean_node_get_children(GGandivaBooleanNode *node);
+
+
+#define GGANDIVA_TYPE_AND_NODE (ggandiva_and_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaAndNode,
+                         ggandiva_and_node,
+                         GGANDIVA,
+                         AND_NODE,
+                         GGandivaBooleanNode)
+struct _GGandivaAndNodeClass
+{
+  GGandivaBooleanNodeClass parent_class;
+};
+
+GGANDIVA_AVAILABLE_IN_0_17
+GGandivaAndNode *
+ggandiva_and_node_new(GList *children);
+
+
+#define GGANDIVA_TYPE_OR_NODE (ggandiva_or_node_get_type())
+G_DECLARE_DERIVABLE_TYPE(GGandivaOrNode,
+                         ggandiva_or_node,
+                         GGANDIVA,
+                         OR_NODE,
+                         GGandivaBooleanNode)
+struct _GGandivaOrNodeClass
+{
+  GGandivaBooleanNodeClass parent_class;
+};
+
+GGANDIVA_AVAILABLE_IN_0_17
+GGandivaOrNode *
+ggandiva_or_node_new(GList *children);
+
+G_END_DECLS