summaryrefslogtreecommitdiffstats
path: root/include/zix/btree.h
AgeCommit message (Collapse)AuthorFilesLines
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