aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_model.c
AgeCommit message (Collapse)AuthorFilesLines
2022-01-28Remove datatype arguments from integer and base64 constructorsDavid Robillard1-4/+4
2022-01-28Add custom allocator supportDavid Robillard1-24/+63
2022-01-28Make environments and sinks part of the worldDavid Robillard1-5/+5
Although functions/components that require minimal pre-existing state are nice, these allocate memory and could potentially share resources. So, give them a pointer to a world which can be used to configure such things. In particular, this is working towards supporting custom allocators everywhere.
2022-01-28Fix handling of deferred write errors that happen when closingDavid Robillard1-2/+2
2022-01-28Use more human-readable status codesDavid Robillard1-7/+7
2022-01-28Simplify output stream APIDavid Robillard1-27/+35
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-28Remove SERD_NO_INLINE_OBJECTSDavid Robillard1-1/+4
This seems like pointless complexity now, since it's easy to just write simply ordered statements yourself.
2022-01-28Add a close function to SerdByteSinkDavid Robillard1-14/+21
This simplifies everything by replacing special cases with a more general close function. A type is no longer stored in the structure, so the other constructors are now essentially syntactic sugar for the universal serd_byte_sink_new_function().
2022-01-14Add modelDavid Robillard1-0/+1396