The UCW library aims to provide a set general purpose tools for programming in the C language. It contains generic data structures (lists, trees, hash tables etc.), fast memory allocators optimized for various usage patterns, abstract I/O streams and optimized implementations of some common algorithms (e.g., sorting of arrays and files).
Please note that this documentation is not yet complete. Many modules are not described, so you might need to look into the source code.
You can see the index of documented definitions.
For news and incompatible changes in this version, see the Release notes.
Modules
-
Growing buffers (obsolete)
-
Table printer and its options
Other features
Yet undocumented modules
-
Trie
-
trie.h
-
-
Red-black trees
-
redblack.h
-
-
Bit manipulation
-
bitarray.h
-
bitops.h
-
bitsig.h
-
-
String manipulation
-
kmp.h
-
kmp-search.h
-
regex.h
-
stkstring.h
-
strtonum.h
-
wildmatch.h
-
-
File manipulation
-
asio.h
-
io.h
-
partmap.h
-
-
Address manipulation
-
url.h
-
ipaccess.h
-
-
Threads
-
semaphore.h
-
threads.h
-
workqueue.h
-
-
Miscellaneous
-
sighandler.h
-
process.h
-
Companion libraries
-
LibUCW-JSON — a JSON parser and formatter
-
LibUCW-XML — a XML parser
-
LibUCW-charset — character set conversion (undocumented)
-
LibUCW-images — loading and conversion of images (undocumented)
License
The UCW library is copyrighted by its authors.
It can be freely distributed and used according to the terms of the GNU Lesser General Public License, either version 2 or any later version.
Authors
Primary authors and maintainers are:
-
Pavel Charvát <pchar@ucw.cz>
-
Martin Mareš <mj@ucw.cz>
-
Robert Špalek <robert@ucw.cz>
Several modules have been contributed by:
-
Daniel Fiala <danfiala@ucw.cz> (strtonum)
-
Tomáš Gavenčiak <gavento@ucw.cz> (logging system)
-
Robert Kessl <robert.kessl@economia.cz> (table printer)
-
Jan Moskyto Matějka <mq@ucw.cz> (option parser, fb-multi)
-
Tomáš Valla <tom@ucw.cz> (varint)
-
Michal Vaner <vorner@ucw.cz> (documentation system)