LibUCW
What's that?
The UCW library aims to provide a set general purpose tools for programming in the C language. In other words, to make writing of complex and very efficient programs in plain C a pleasure.
It originated as a part of the Sherlock Holmes search engine, but it is now developed separately.
Features
- Fast buffered IO
- Memory pools
- Internal and external sorting routines
- Generic data structures (e.g., heaps, search trees, growing buffers)
- Very efficient memory allocators
- Event loop (watching over file descriptors, sub-processes, timers, and signals)
- Configuration system
- Modular system for configure scripts
- Build system
- Documentation system
- … and many more
License
The library can be distributed and used under the terms of GNU Lesser Public License (LGPL), either version 2 or any later version. Several modules are in public domain.
Authors
Most parts of the library were written by Martin Mareš, Robert Špalek, Pavel Charvát, and Michal Vaner.
Download
The latest release of LibUCW is version 5.0 (see release notes and online documentation).
It can be downloaded via HTTP or FTP.
The current development version can be checked out from our Git repository at git://git.ucw.cz/libucw.git
,
or you can examine the repository through gitweb.
Reporting bugs
All bug reports, ideas for new features and other wishes are welcome at libucw-devel@ucw.cz. Patches are welcome even more ;-)
If you use the library to your pleasure, the authors will be glad to hear that at the same address.
Extra libraries
The package also contains several other libraries from the Sherlock Holmes project, which you might find useful. So far, they are completely optional and not much documented.
- libucw-charset – manipulation of character sets and UniCode categories
- libucw-images – manipulation of images
- libucw-xml – a lightning fast and flexible XML parser