From 36cd543badf1277039af83c8fe8b5bfa2a86280d Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 23 Aug 2023 16:14:49 -0400 Subject: Clean up and update documentation --- README.md | 32 +++++++++++++++++++++++++------- doc/allocation.rst | 6 +++--- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index cf12e4d..6e1dd35 100644 --- a/README.md +++ b/README.md @@ -6,16 +6,29 @@ Zix is a lightweight C library of portability wrappers and data structures. Components ---------- +* Allocation + * `ZixAllocator`: A customizable allocator. * `ZixBumpAllocator`: A simple realtime-safe "bump-pointer" allocator. + +* Algorithms + + * `zix/digest.h`: Digest functions suitable for hashing arbitrary data. + +* Data Structures + * `ZixBTree`: A page-allocated B-tree. * `ZixHash`: An open-addressing hash table. * `ZixRing`: A lock-free realtime-safe ring buffer. + * `ZixTree`: A binary search tree. + +* Threading + * `ZixSem`: A portable semaphore wrapper. * `ZixThread`: A portable thread wrapper. - * `ZixTree`: A binary search tree. - * `zix/digest.h`: Digest functions suitable for hashing arbitrary data. +* File System + * `zix/filesystem.h`: Functions for working with filesystems. * `zix/path.h`: Functions for working with filesystem paths lexically. @@ -24,15 +37,19 @@ Platforms Zix is continually tested on: - * GNU/Linux (x86, arm32, and arm64) - * FreeBSD (x64) - * MacOS (x64) - * Node (as wasm via emscripten) + * Debian GNU/Linux 11 (x86, x64, arm32, and arm64) + * Fedora 36 (x64) + * FreeBSD 13.2 (x64) + * MacOS 11.7 (x64) + * Node 12 (as wasm via emscripten) + * Windows 10 (x86) Dependencies ------------ -None, except the C standard library. +None, +except the C standard library, +and some POSIX and platform-specific APIs where necessary. Documentation ------------- @@ -40,5 +57,6 @@ Documentation * [Installation Instructions](INSTALL.md) * [API reference (single page)](https://drobilla.gitlab.io/zix/doc/singlehtml/) * [API reference (paginated)](https://drobilla.gitlab.io/zix/doc/html/) + * [Test Coverage](https://drobilla.gitlab.io/zix/coverage/) -- David Robillard diff --git a/doc/allocation.rst b/doc/allocation.rst index 5b9d507..819c7c4 100644 --- a/doc/allocation.rst +++ b/doc/allocation.rst @@ -17,8 +17,8 @@ which is equivalent to :func:`zix_default_allocator()`. Zix includes one implementation of a custom allocator, a very simple bump-pointer allocator which can be created with :func:`zix_bump_allocator`. -A convenience API for using a custom allocator if provided -(and the system allocator otherwise) -is provided with functions like :func:`zix_malloc` that correspond to those in the standard C API. +A convenience API for using custom allocators +(or the system allocator as a fallback) +is provided with functions like :func:`zix_malloc` that reflect the standard C API. Memory allocated with an allocator must be freed by calling :func:`zix_free` with the same allocator. -- cgit v1.2.1