Find a file
Thomas Haller 49f854886e Squashed 'src/c-rbtree/' changes from eb778d39694a..e56535a5daa5
e56535a5daa5 c-rbtree: add overview comments
e1187dd4f56c c-rbtree: improve doc-strings
5c58005f4352 build: bump version
becd70d97145 build: prepare v3.1.0 release
1d865e41b95f build: use libcstdaux.version-scripts
2d4fccbc0095 build: synchronize AUTHORS
b6af0681629a meson: no longer pass -Wl,--no-undefined explicitly
7995758e8540 ci: run on macos

git-subtree-dir: src/c-rbtree
git-subtree-split: e56535a5daa598f329ad05ffb9a9f38585496f34
2022-07-06 10:06:23 +02:00
.github/workflows Squashed 'src/c-rbtree/' changes from eb778d39694a..e56535a5daa5 2022-07-06 10:06:23 +02:00
src Squashed 'src/c-rbtree/' changes from eb778d39694a..e56535a5daa5 2022-07-06 10:06:23 +02:00
subprojects Squashed 'src/c-rbtree/' changes from 8aa7bd1828ee..9b9713aeb9ec 2022-05-06 09:57:51 +02:00
.editorconfig Squashed 'src/c-rbtree/' content from commit 8aa7bd1828ee 2021-10-01 16:10:39 +02:00
.gitmodules Squashed 'src/c-rbtree/' changes from 8aa7bd1828ee..9b9713aeb9ec 2022-05-06 09:57:51 +02:00
AUTHORS Squashed 'src/c-rbtree/' changes from eb778d39694a..e56535a5daa5 2022-07-06 10:06:23 +02:00
meson.build Squashed 'src/c-rbtree/' changes from eb778d39694a..e56535a5daa5 2022-07-06 10:06:23 +02:00
meson_options.txt Squashed 'src/c-rbtree/' changes from 8aa7bd1828ee..9b9713aeb9ec 2022-05-06 09:57:51 +02:00
NEWS.md Squashed 'src/c-rbtree/' changes from eb778d39694a..e56535a5daa5 2022-07-06 10:06:23 +02:00
README.md Squashed 'src/c-rbtree/' changes from 8aa7bd1828ee..9b9713aeb9ec 2022-05-06 09:57:51 +02:00

c-rbtree

Intrusive Red-Black Tree Collection

The c-rbtree project implements an intrusive collection based on red-black trees in ISO-C11. Its API guarantees the user full control over its data-structures, and rather limits itself to just the tree-specific rebalancing and coloring operations. For API documentation, see the c-rbtree.h header file, as well as the docbook comments for each function.

Project

Requirements

The requirements for this project are:

  • libc (e.g., glibc >= 2.16)

At build-time, the following software is required:

  • meson >= 0.60
  • pkg-config >= 0.29

Build

The meson build-system is used for this project. Contact upstream documentation for detailed help. In most situations the following commands are sufficient to build and install from source:

mkdir build
cd build
meson setup ..
ninja
meson test
ninja install

No custom configuration options are available.

Repository:

License:

  • Apache-2.0 OR LGPL-2.1-or-later
  • See AUTHORS file for details.