summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2023-08-23 16:14:49 -0400
committerDavid Robillard <d@drobilla.net>2023-08-23 17:58:46 -0400
commit36cd543badf1277039af83c8fe8b5bfa2a86280d (patch)
tree6c78b6e55e56a3ad6b6fa3f4a20e3808ad8eb682
parentcfb97d0865e235458b186cc21cafe4367bce72f4 (diff)
downloadzix-36cd543badf1277039af83c8fe8b5bfa2a86280d.tar.gz
zix-36cd543badf1277039af83c8fe8b5bfa2a86280d.tar.bz2
zix-36cd543badf1277039af83c8fe8b5bfa2a86280d.zip
Clean up and update documentation
-rw-r--r--README.md32
-rw-r--r--doc/allocation.rst6
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 <d@drobilla.net>
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.