]> mj.ucw.cz Git - libucw.git/blob - ucw/doc/index.txt
Merge branch 'master' into dev-opt
[libucw.git] / ucw / doc / index.txt
1 The UCW library
2 ===============
3
4 The UCW library aims to provide a set general purpose tools for programming
5 in the C language. It contains generic data structures (lists, trees, hash
6 tables etc.), fast memory allocators optimized for various usage patterns,
7 abstract I/O streams and optimized implementations of some common algorithms
8 (e.g., sorting of arrays and files).
9
10 Please note that this documentation is not yet complete. Many modules are
11 not described, so you might need to look into the source code.
12
13 You can see the index of <<def_index:,documented definitions>>.
14
15 For news and incompatible changes in this version, see the <<relnotes:,Release notes>>.
16
17 Modules
18 -------
19 - <<basics:,Basics>>
20 - <<log:,Logging>>
21 - <<fastbuf:,Fastbufs>>
22 - <<basecode:,Base64 and Base224 encoding>>
23 - <<hash:,Hashing routines>>
24 - <<conf:,Configuration and command line parser>>
25 - <<mempool:,Memory pools>>
26 - <<eltpool:,Fixed-sized allocators>>
27 - <<mainloop:,Mainloop>>
28 - <<unaligned:,Unaligned data>>
29 - <<lists:,Linked lists>>
30 - <<heap:,Binary heaps>>
31 - <<binheap:,Binomial heaps>>
32 - <<hashtable:,Hash tables>>
33 - <<growbuf:,Growing buffers>>
34 - <<chartype:,Single-byte characters>>
35 - <<unicode:,Multi-byte characters>>
36 - <<varint:,Encoding of integers>>
37 - <<prime:,Prime numbers>>
38 - <<sort:,Sorting>>
39 - <<binsearch:,Binary search>>
40 - <<compress:,Compression>>
41 - <<trans:,Transactions and resource tracking>>
42 - <<string:,String operations>>
43 - <<time:,Time and timers>>
44 - <<daemon:,Daemon helpers>>
45 - <<signal:,Signal helpers>>
46 - <<opt:,Command line parser>>
47
48 Other features
49 --------------
50 - <<configure:,Compile time configuration>>
51 - <<config:,Configuration file syntax>>
52 - <<docsys:,Documentation system>>
53 - <<generic:,Macro-generated generics>>
54
55 Yet undocumented modules
56 ------------------------
57 - Allocators
58   * `gary.h`
59 - Trie
60   * `trie.h`
61 - Red-black trees
62   * `redblack.h`
63 - Bit manipulation
64   * `bitarray.h`
65   * `bitops.h`
66   * `bitsig.h`
67 - String manipulation
68   * `kmp.h`
69   * `kmp-search.h`
70   * `regex.h`
71   * `stkstring.h`
72   * `strtonum.h`
73   * `wildmatch.h`
74 - File manipulation
75   * `asio.h`
76   * `io.h`
77   * `partmap.h`
78 - Address manipulation
79   * `url.h`
80   * `ipaccess.h`
81 - Threads
82   * `semaphore.h`
83   * `threads.h`
84   * `workqueue.h`
85 - Miscellaneous
86   * `sighandler.h`
87   * `process.h`
88
89 License
90 -------
91 The UCW library is copyrighted by its authors:
92
93 - Pavel Charvát <mailto:pchar\@ucw.cz[]>
94 - Martin Mareš <mailto:mj\@ucw.cz[]>
95 - Robert Špalek <mailto:robert\@ucw.cz[]>
96 - Michal Vaner <mailto:vorner\@ucw.cz[]>
97
98 It can be freely distributed and used according to the terms of
99 the GNU Lesser General Public License, either version 2 or any later
100 version.