aboutsummaryrefslogtreecommitdiffstats
path: root/include/serd/statement.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/serd/statement.h')
-rw-r--r--include/serd/statement.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/include/serd/statement.h b/include/serd/statement.h
new file mode 100644
index 00000000..321aace4
--- /dev/null
+++ b/include/serd/statement.h
@@ -0,0 +1,40 @@
+// Copyright 2011-2022 David Robillard <d@drobilla.net>
+// SPDX-License-Identifier: ISC
+
+#ifndef SERD_STATEMENT_H
+#define SERD_STATEMENT_H
+
+#include "serd/attributes.h"
+
+#include <stdint.h>
+
+SERD_BEGIN_DECLS
+
+/**
+ @defgroup serd_statement Statements
+ @ingroup serd_data
+ @{
+*/
+
+/// Flags indicating inline abbreviation information for a statement
+typedef enum {
+ SERD_EMPTY_S = 1U << 1U, ///< Empty blank node subject
+ SERD_EMPTY_O = 1U << 2U, ///< Empty blank node object
+ SERD_ANON_S_BEGIN = 1U << 3U, ///< Start of anonymous subject
+ SERD_ANON_O_BEGIN = 1U << 4U, ///< Start of anonymous object
+ SERD_ANON_CONT = 1U << 5U, ///< Continuation of anonymous node
+ SERD_LIST_S_BEGIN = 1U << 6U, ///< Start of list subject
+ SERD_LIST_O_BEGIN = 1U << 7U, ///< Start of list object
+ SERD_LIST_CONT = 1U << 8U, ///< Continuation of list
+} SerdStatementFlag;
+
+/// Bitwise OR of SerdStatementFlag values
+typedef uint32_t SerdStatementFlags;
+
+/**
+ @}
+*/
+
+SERD_END_DECLS
+
+#endif // SERD_STATEMENT_H