summaryrefslogtreecommitdiffstats
path: root/include/zix
AgeCommit message (Collapse)AuthorFilesLines
2022-11-02Improve documentationDavid Robillard3-3/+15
2022-11-02Remove function_types.hDavid Robillard4-56/+38
2022-11-02Relax nullability constraints for Tree valuesDavid Robillard1-4/+4
2022-11-02Relax nullability constraints for BTree valuesDavid Robillard2-11/+13
These pointers are truly opaque, the library does not care about their value at all, and a zero can be stored successfully.
2022-11-02Improve documentation headingsDavid Robillard2-2/+2
2022-10-24Expose ring transaction API in shared libraryDavid Robillard1-0/+3
2022-10-23Add filesystem APIDavid Robillard4-1/+376
2022-10-23Add path APIDavid Robillard3-1/+255
2022-10-23Add string view APIDavid Robillard3-3/+113
2022-10-23Split reference documentation up into groups and add global headerDavid Robillard13-60/+125
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-23Fix documentation markup issuesDavid Robillard1-2/+2
2022-10-23Add missing documentationDavid Robillard4-20/+21
2022-10-21Factor out public declaration scope markersDavid Robillard11-60/+32
2022-10-21Split up common headerDavid Robillard8-25/+57
2022-10-21Hide errno utility functionsDavid Robillard2-12/+0
2022-10-20Fix mismatched function typesDavid Robillard1-3/+0
2022-10-20Hide thread implementationDavid Robillard1-53/+12
2022-10-20Fix doc commentsDavid Robillard11-62/+64
2022-09-02Factor out POSIX-style return patternDavid Robillard1-0/+5
2022-09-01Simplify thread and semaphore status codesDavid Robillard3-4/+6
2022-08-19Simplify errno handlingDavid Robillard1-5/+6
2022-08-19Move sem implementation out of headerDavid Robillard2-185/+18
This avoids having platform conditionals in public headers, which causes build problems for dependants.
2022-08-18Add return status to zix_ring_mlock()David Robillard1-1/+1
2022-08-18Fix conversion warning on 32-bit ARMDavid Robillard1-2/+2
2022-08-18Add zix_sem_timed_wait()David Robillard1-1/+66
2022-08-18Fix semaphore error handlingDavid Robillard2-36/+72
Note that existing code which uses zix_sem_try_wait() may still compile against this change, but be incorrect!
2022-08-18Fix thread function attributes on WindowsDavid Robillard1-3/+2
2022-08-18Improve test coverageDavid Robillard1-6/+3
2022-08-18Fix or remove non-portable features in thread APIDavid Robillard1-18/+39
Thread function return values are inconsistent between nearly every threading API out there. So, just ignore them entirely, and provide a typedef and sentinel value so user code can be portable.
2022-08-18Factor out converting errno codes to ZixStatusDavid Robillard2-11/+6
2022-08-18Add transactional ring APIDavid Robillard1-0/+73
2022-08-12Document the thread semantics of every ring functionDavid Robillard1-15/+42
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 Robillard1-3/+3
I give in.
2022-06-28Fix whitespaceDavid Robillard4-11/+11
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-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