A small collection of C utilities as a static link library.

Goals:

- Aim for best implementation of an algorithm;
- Clean readable source;
- Small source size;
- Small code size;
- Consistent api and features where it makes sense;
- Low level and highly re-usable building blocks where it makes sense.

Some functions were originally part of ezesdk hence the name.

It currently includes some data structures:

- ez_bitset
- A specialised bit-based integer set.
- ez_list
- A general double-linked list.
- ez_set
- A general set / hashtable.
- ez_tree
- A general balanced binary tree.

And some IPC support:

- ez_blob
- A C structure serialiser/deserialiser.
- ez_port
- A simple blocking inter-thread message queue with poll(2) support.

There are some other interesting points of note in the README. For example the avl tree implementation is about half the source-code and binary-text size of the avl tree implementation in libavl[3], and the tree node overhead is lower.

This library is free software: you can redistribute it and/or modify
it under the terms of the **GNU General Public License** as published by
the Free Software Foundation, either **version 3** of the License, or (at
your option) any later version.

Note that this is **not the lesser license**, the full source-code
must accompany any programme which utilises this library.

Where to get the source.

- libeze-1.0.tar.gz
source code.
**24/1/2019**: First public release.

- libeze homepage - should be this page;
- Exec Lists. Nice overview of them.
- GNU libavl has a good and very well documentated implementation of AVL trees.
- Shift/add based integer hash functions.
- Multiply/exclusiv-or based integer hash functions.
- Simple but decent string and blob hash functions.

notzed on various mail servers, primarily gmail.com.

Copyright (C) 2019 Michael Zucchi, All Rights Reserved.