summaryrefslogtreecommitdiffstats
path: root/include/zix/btree.h
AgeCommit message (Collapse)AuthorFilesLines
2023-05-11Improve reference documentationDavid Robillard1-70/+106
2022-11-02Remove function_types.hDavid Robillard1-15/+23
2022-11-02Relax nullability constraints for BTree valuesDavid Robillard1-8/+8
These pointers are truly opaque, the library does not care about their value at all, and a zero can be stored successfully.
2022-10-23Split reference documentation up into groups and add global headerDavid Robillard1-1/+1
The "global" header just provides a convenient place to define the group structure of the library. Applications are better off using the individual headers, but this one will work fine if you don't care about build times or precise dependencies.
2022-10-21Factor out public declaration scope markersDavid Robillard1-6/+2
2022-10-21Split up common headerDavid Robillard1-3/+4
2022-10-20Fix doc commentsDavid Robillard1-5/+11
2022-06-28Use uppercase integer literal suffixesDavid Robillard1-3/+3
I give in.
2022-06-28Fix whitespaceDavid Robillard1-2/+2
2022-06-28Fix incorrect function attributesDavid Robillard1-1/+1
The ring accessors are pure, not const, because they read pointed-to data (the ring) that may change between invocations. The BTree iter comparison is const because it only compares the values passed as parameters (although they contain pointers, they aren't dereferenced).
2021-09-18Fix whitespaceDavid Robillard1-7/+5
2021-09-14Make ZixAllocator a single flat structDavid Robillard1-1/+1
I can never decide between these two patterns for polymorphic objects in C, but this one seems more appropriate here since it's more conducive to inheritance.
2021-09-11Fix zix_btree_free() nullable annotationDavid Robillard1-1/+1
2021-09-10Adopt REUSE machine-readable licensing standardDavid Robillard1-15/+2
2021-09-10Add custom allocator supportDavid Robillard1-1/+4
2021-09-10Add nullability annotationsDavid Robillard1-24/+31
This allows clang to issue warnings at compile time when null is passed to a non-null parameter. For public entry points, also add assertions to catch such issues when the compiler does not support this.
2021-09-10Move attribute definitions to a separate headerDavid Robillard1-0/+1
2021-09-10Add a user handle to destroy callbackDavid Robillard1-2/+6
2021-09-10Simplify BTree implementationDavid Robillard1-7/+31
2021-09-10Allow ZixBTreeIter to be allocated on the stackDavid Robillard1-40/+50
2021-09-10Remove destroy field of BTree and add zix_btree_clear()David Robillard1-3/+18
If this is used, it is only when clearing or freeing a tree. Allowing it to be given as a parameter directly there is clearer and avoids bloating the tree itself with information that isn't needed.
2021-07-17Use line comments where appropriateDavid Robillard1-36/+13
2020-12-31Update copyright headersDavid Robillard1-1/+1
2020-12-31Separate source from headersDavid Robillard1-0/+187