diff options
author | David Robillard <d@drobilla.net> | 2019-10-14 23:26:41 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2021-03-08 23:36:08 -0500 |
commit | 1fd33e0a85bdf6bcc4f8138940462c4a4a391175 (patch) | |
tree | fab500d072049701370f45c5ae2af76683d8fd1f /include | |
parent | 7efaf2431b9c1a96f6ed2e28626aff4886efc749 (diff) | |
download | serd-1fd33e0a85bdf6bcc4f8138940462c4a4a391175.tar.gz serd-1fd33e0a85bdf6bcc4f8138940462c4a4a391175.tar.bz2 serd-1fd33e0a85bdf6bcc4f8138940462c4a4a391175.zip |
Add support for converting literals to canonical form
Diffstat (limited to 'include')
-rw-r--r-- | include/serd/serd.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/serd/serd.h b/include/serd/serd.h index 93e280dc..8eb5470d 100644 --- a/include/serd/serd.h +++ b/include/serd/serd.h @@ -1462,6 +1462,32 @@ serd_sink_write_end(const SerdSink* SERD_NONNULL sink, /** @} + @defgroup serd_stream_processing Stream Processing + @{ +*/ + +/// Flags that control canonical node transformation +typedef enum { + SERD_CANON_LAX = 1u << 0u, ///< Tolerate and pass through invalid input +} SerdCanonFlag; + +/// Bitwise OR of SerdCanonFlag values +typedef uint32_t SerdCanonFlags; + +/** + Return a sink that transforms literals to canonical form where possible. + + The returned sink acts like `target` in all respects, except literal nodes + in statements may be modified from the original. +*/ +SERD_API +SerdSink* SERD_ALLOCATED +serd_canon_new(const SerdWorld* SERD_NULLABLE world, + const SerdSink* SERD_NONNULL target, + SerdReaderFlags flags); + +/** + @} @defgroup serd_reader Reader @{ */ |