aboutsummaryrefslogtreecommitdiffstats
path: root/include/serd/statement.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-10-01 20:12:13 -0400
committerDavid Robillard <d@drobilla.net>2023-12-02 16:27:02 -0500
commitcd3d9986f40fd4e605ac2e8168512065439173e2 (patch)
tree72d0418cbd8b8b5c7e43880c68831819e12b1982 /include/serd/statement.h
parent1f09497ae009daade56c450e73bf6425b27cea24 (diff)
downloadserd-cd3d9986f40fd4e605ac2e8168512065439173e2.tar.gz
serd-cd3d9986f40fd4e605ac2e8168512065439173e2.tar.bz2
serd-cd3d9986f40fd4e605ac2e8168512065439173e2.zip
Split up public API header
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