[ Mælström ]

A C89/90, (and later,) data-structure library designed for independence and abstraction. Works on top of the C90 standard library, (and possibly C99 vsnprintf in Text, see documentation,) to give access to some of the more advanced data-types that are included in more modern languages. Actually several projects grouped together, so it's possible to just pick and choose among the sources in the data-structures' src directory without including the entire library.

Dependancies.
Dependancy graph: the dashed blue lines indicate a dependancy for tests only.

Built on a paradigm of breaking the storage structures from the abstract data structures wherever possible; this allows primitive inheritance. In some .h files, the pre-processor is used to give code that's specific for one struct type or primitive, something like generics; these files (sometimes optionally) require one to #define parameters listed in the documentation.

Distributed under the terms of the MIT License. See tests (and test under the individual projects) for examples. Currently under development.

[ Dir ]
Programming.
[ Dir ]
Digraph is an abstract directed graph represented by adjacency lists that is backed by the parameterised types Vertex and Edge.
[ Dir ]
A more specific, familiar hash table in C, that subclasses Map to form a key-value dictionary.
[ Dir ]
A linked-list with possibly different order permutations.
[ Dir ]
A hash table where a function on the data specifies the key.
[ Dir ]
Random words are useful in testing.
[ Dir ]
A (in some cases) contiguous dynamically-allocated array.
[ Dir ]
A wrapper around the standard C89 string library functions with a dynamic array, using Modified UTF-8.
[ Dir ]
Multi-component examples.
[ Dir ]
A Text is composed of String in a way that makes them easy and fast to edit.
[ File ]
update.sh (4 KB)
-- π

From http://neil.chaosnet.org/code/Cboxes/.