summaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2022-06-28Fix strict release buildsDavid Robillard1-1/+1
2022-06-28Move zix_strerror to libraryDavid Robillard1-23/+6
2022-06-28Use uppercase integer literal suffixesDavid Robillard2-5/+3
I give in.
2022-06-28Fix whitespaceDavid Robillard4-11/+11
2022-06-28Simplify dep5 file by adding license headers where possibleDavid Robillard1-0/+3
2022-06-28Fix build as C with MSVCDavid Robillard1-0/+2
2022-06-28Fix incorrect function attributesDavid Robillard2-4/+4
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-12-17Suppress new warnings in clang-tidy 13David Robillard1-1/+1
2021-10-27Be explicit about operator precedenceDavid Robillard1-1/+1
2021-09-18Fix whitespaceDavid Robillard1-7/+5
2021-09-16Add a simple bump pointer allocatorDavid Robillard1-0/+52
2021-09-15Add redundant forward declaration to appease clang-tidyDavid Robillard1-0/+2
2021-09-14Add aligned allocation interface and use it in ZixBTreeDavid Robillard1-8/+54
2021-09-14Fix whitespace in allocator function type definitionsDavid Robillard1-12/+14
2021-09-14Make ZixAllocator a single flat structDavid Robillard5-57/+54
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 Robillard11-165/+22
2021-09-10Add custom allocator supportDavid Robillard5-10/+170
2021-09-10Add nullability annotationsDavid Robillard8-128/+171
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 Robillard8-55/+87
2021-09-10Rewrite ZixHash as a flat table with open addressingDavid Robillard2-39/+239
2021-09-10Replace CRC32 digest with more modern and appropriate algorithmsDavid Robillard1-15/+59
This makes the hassle of platform-specific code go away, and instead uses portable implementations of relatively standard modern hash algorithms. CRC32 is not great as a hash function anyway, though it is very fast when hardware accelerated.
2021-09-10Add a user handle to destroy callbackDavid Robillard3-4/+9
2021-09-10Simplify BTree implementationDavid Robillard1-7/+31
2021-09-10Allow ZixBTreeIter to be allocated on the stackDavid Robillard3-41/+55
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-09-10Suppress new warnings in clang-tidy 12David Robillard1-0/+1
2021-09-10Fix conversion warningsDavid Robillard1-2/+3
2021-09-10Remove ZixStrindexDavid Robillard1-59/+0
2021-07-17Remove ZixSortedArrayDavid Robillard1-122/+0
2021-07-17Use line comments where appropriateDavid Robillard11-211/+78
2021-06-30Allow ZIX_API to be overriddenDavid Robillard1-8/+10
2020-12-31Update copyright headersDavid Robillard11-11/+11
2020-12-31Remove ZixChunkDavid Robillard1-50/+0
2020-12-31Switch to MesonDavid Robillard1-13/+6
2020-12-31Remove entire library headerDavid Robillard1-35/+0
2020-12-31Use stricter clang-tidy configuration for headersDavid Robillard1-0/+9
2020-12-31Fix use of reserved identifiersDavid Robillard1-1/+1
2020-12-31Remove ZIX_PRIVATE and ZIX_INLINE mechanismsDavid Robillard1-5/+0
A normal C library ought to be good enough for anybody.
2020-12-31Separate source from headersDavid Robillard13-0/+1618