Find a file
Thomas Haller 7521ea44a3 Squashed 'src/c-list/' changes from 96455db9f04a..a0970f12f1f4
a0970f12f1f4 c-list: avoid comma-operator in conditionals
2ea502c5ee83 c-list: return self from c_list_init()
ca473417f7b3 build: use c99 instead of c11
99d8daf152fa ci: run on windows-2016
857a37cfc960 test/embed: split off GNU-extensions
c09e29697912 ci: run through MSVC
c3ba3dc82466 build: run test_embed only with gcc/clang
77c872dcc67d test/api: split of GNU tests
3ab849ea658e test/basic: test_extensions() -> test_gnu()
04fda9508c86 c-list: reorder iterators
58ab8fb29472 test: add c_list_entry_offset() to API tests
6d2fdc76de70 build: update AUTHORS
92b893fb3c4b c-list: remove trailing '\\' from macro definitions
c255c6a97a04 c-list: use size_t
b47da33dedf1 c-list: use uintptr_t for pointer arithmetic in c_list_entry()
9b798f50bbd0 c-list: require CList pointer for argument to c_list_entry() macro
42bbf43ab0af test: guard gcc'ism
942fcfd80862 c-list: make _c_list_entry_eval() part of the API
73a620259ca0 c-list: don't use elvis operator for c_list_entry() macro
da5e122bd698 test: drop unused argc/argv
f1eadf27377e test: verify c_list_entry() does not double-evaluate

git-subtree-dir: src/c-list
git-subtree-split: a0970f12f1f406a5578a5dedf3580cd682e55812
2021-10-01 16:17:09 +02:00
.github/workflows Squashed 'src/c-list/' changes from 96455db9f04a..a0970f12f1f4 2021-10-01 16:17:09 +02:00
src Squashed 'src/c-list/' changes from 96455db9f04a..a0970f12f1f4 2021-10-01 16:17:09 +02:00
.editorconfig Squashed 'src/c-list/' content from commit 96455db9f04a 2021-10-01 16:15:48 +02:00
AUTHORS Squashed 'src/c-list/' changes from 96455db9f04a..a0970f12f1f4 2021-10-01 16:17:09 +02:00
meson.build Squashed 'src/c-list/' changes from 96455db9f04a..a0970f12f1f4 2021-10-01 16:17:09 +02:00
NEWS.md Squashed 'src/c-list/' content from commit 96455db9f04a 2021-10-01 16:15:48 +02:00
README.md Squashed 'src/c-list/' content from commit 96455db9f04a 2021-10-01 16:15:48 +02:00

c-list

Circular Intrusive Double Linked List Collection

The c-list project implements an intrusive collection based on circular double linked lists in ISO-C11. It aims for minimal API constraints, leaving maximum control over the data-structures to the API consumer.

Project

Requirements

The requirements for this project are:

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

At build-time, the following software is required:

  • meson >= 0.41
  • 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.