Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-01-28 | Consolidate number support into a single "value" API | David Robillard | 1 | -0/+1 | |
2022-01-28 | Add custom allocator support | David Robillard | 1 | -0/+2 | |
2022-01-28 | Update zix and make it a proper subproject | David Robillard | 1 | -4/+5 | |
2022-01-28 | Simplify input stream API | David Robillard | 1 | -0/+1 | |
More or less the same rationale as the previous commit, but for reading. This makes for nice symmetry with writing, at the cost of a slightly more annoying reader interface since the source doesn't know its block size or name. | |||||
2022-01-28 | Simplify output stream API | David Robillard | 1 | -1/+2 | |
This makes the paging mechanism an internal detail once again. While it's conceptually elegant to simply have a single write interface and have the block dumper just be another implementation of that, unfortunately it is not practical. The inlining of serd_block_dumper_write() is a significant performance boost, because it avoids a non-inlinable function call of overhead per character. Compared to the SerdByteSink approach, this removes the burden and overhead of needing to dynamically allocate the structure itself. | |||||
2022-01-28 | Provide a full output stream implementation for SerdBuffer | David Robillard | 1 | -0/+1 | |
Essentially replaces serd_buffer_sink_finish() with serd_buffer_close(), which makes writing to a buffer consistent with writing to a file or anything else. | |||||
2022-01-28 | Replace serdi with more fine-grained tools | David Robillard | 1 | -2/+4 | |
Especially with the new functionality, the complexity of the command-line interface alone was really becoming unmanageable. The serdi implementation also had the highest cyclomatic complexity of the entire codebase by a huge margin. So, take a page from the Unix philosophy and split serdi into several more finely-honed tools that can be freely composed. Though there is still unfortunately quite a bit of option overlap between them due to the common details of reading RDF, I think the resulting tools are a lot easier to understand, both from a user and a developer perspective. | |||||
2022-01-28 | Move serdi to tools subdirectory | David Robillard | 1 | -15/+4 | |
This separates the command-line tool code from the library implementation. | |||||
2022-01-28 | Factor out Windows UTF-8 console setup code | David Robillard | 1 | -1/+2 | |
2022-01-28 | Add version constants to public header | David Robillard | 1 | -2/+9 | |
2022-01-14 | Add statement filtering | David Robillard | 1 | -0/+1 | |
2022-01-14 | Add support for converting literals to canonical form | David Robillard | 1 | -0/+1 | |
2022-01-14 | Add model | David Robillard | 1 | -0/+7 | |
2022-01-14 | Add serd_node_from_syntax() and serd_node_to_syntax() | David Robillard | 1 | -0/+1 | |
2022-01-14 | Factor out NQuads reader | David Robillard | 1 | -0/+1 | |
2022-01-14 | Factor out NTriples reader | David Robillard | 1 | -0/+1 | |
2022-01-14 | Factor out UTF-8 reading utilities | David Robillard | 1 | -0/+1 | |
2022-01-14 | Add extensible logging API | David Robillard | 1 | -0/+2 | |
2022-01-13 | Add serd_canonical_path() | David Robillard | 1 | -1/+4 | |
2022-01-13 | Use a manual type-safe stack in writer | David Robillard | 1 | -2/+0 | |
This fixes alignment issues on ARM. Since this stack is just for WriteContext which has a fixed size, using SerdStack here just made things more confusing anyway. | |||||
2022-01-13 | Expose SerdByteSink in public API | David Robillard | 1 | -0/+1 | |
2022-01-13 | Simplify writer style options | David Robillard | 1 | -2/+0 | |
2022-01-13 | Add SerdNodes for storing a cache of interned nodes | David Robillard | 1 | -1/+4 | |
2022-01-13 | Add zix data structures | David Robillard | 1 | -3/+4 | |
2022-01-13 | Add SerdStatement | David Robillard | 1 | -0/+2 | |
2022-01-13 | Add SerdCaret | David Robillard | 1 | -0/+1 | |
2022-01-13 | Add SerdWorld for shared library state | David Robillard | 1 | -0/+1 | |
2022-01-13 | Clean up base64 node construction and access API | David Robillard | 1 | -1/+0 | |
2022-01-13 | Use exess for reading and writing numeric and binary literals | David Robillard | 1 | -6/+10 | |
2022-01-13 | Move syntax name/extension utilities to public API | David Robillard | 1 | -0/+1 | |
2022-01-13 | Add SerdSink interface and hide implementations | David Robillard | 1 | -0/+1 | |
2022-01-13 | Add SerdBuffer type for mutable buffers | David Robillard | 1 | -1/+1 | |
This avoids const violations from abusing SerdChunk as a mutable buffer for string sinks. | |||||
2022-01-13 | Define _POSIX_C_SOURCE globally in the build system | David Robillard | 1 | -2/+8 | |
Using inconsistent defines like this that affect the standard library implementation can cause issues. So, doing this consistently for the whole library is a better approach, although it unfortunately makes the code more difficult to compile manually. | |||||
2022-01-13 | Switch to Meson | David Robillard | 1 | -0/+200 | |