| |
1 # Overview |
| |
2 |
| |
3 Welcome to the UAP Common Extensions. |
| |
4 |
| |
5 With this library we provide useful data structures and algorithms for common |
| |
6 programmatic tasks in the C language. Using the build files you can create |
| |
7 a static and a shared lib containing all units, but you may also use the UCX |
| |
8 sources in your project and compile specific units by yourself. |
| |
9 |
| |
10 If you want to use this library, you can [download and install](install.md) |
| |
11 the recent version. |
| |
12 The source code is also available as Mercurial repository [at our site][1] and |
| |
13 on [Source Forge][2]. |
| |
14 |
| |
15 [1]: https://develop.uap-core.de/hg/ucx/ |
| |
16 [2]: https://sourceforge.net/p/ucx/code/ |
| |
17 |
| |
18 ### Authors |
| |
19 |
| |
20 Mike Becker [<universe@uap-core.de>](mailto:universe@uap-core.de) |
| |
21 |
| |
22 Olaf Wintermann |
| |
23 [<olaf.wintermann@gmail.com>](mailto:olaf.wintermann@gmail.com) |
| |
24 |
| |
25 Changelog |
| |
26 --------- |
| |
27 |
| |
28 ### Version 3.0 - 2023-07-09 {collapsible="true"} |
| |
29 |
| |
30 * complete redesign from scratch |
| |
31 * collections can now store copies of objects and not just pointers |
| |
32 * collections are now dynamically implemented |
| |
33 * users of the library can specify own implementations of collections that work with the UCX API |
| |
34 * low level API for custom lists that do not use the UCX structures |
| |
35 * various fixes and improvements |
| |
36 * drops some other, rarely used, features |
| |
37 * removes testing implementation from the lib |
| |
38 |
| |
39 ### Version 2.1 - 2019-12-30 {collapsible="true"} |
| |
40 |
| |
41 * adds string replace functions |
| |
42 * adds set operations for ` UcxList` and `UcxMap` |
| |
43 * adds `sstrcaseprefix()` and `sstrcasesuffix()` |
| |
44 * improves Doxygen documentation in ucx/string.h |
| |
45 * adds `UcxArray` data type |
| |
46 * adds support for CMake builds, but main build system is still autotools |
| |
47 |
| |
48 ### Version 2.0 - 2018-12-28 {collapsible="true"} |
| |
49 |
| |
50 * some uncritical bug fixes |
| |
51 * overflow of `sstrnlen` now returns `SIZE_MAX` instead of zero |
| |
52 * adds `scstr_t` - a `const char*` variant for sstr_t |
| |
53 * renames utility compare functions |
| |
54 |
| |
55 ### Version 1.1 - 2018-05-14 {collapsible="true"} |
| |
56 |
| |
57 * adds missing 32 bit support to integer overflow checks |
| |
58 * adds `ucx_buffer_to_sstr()` macro |
| |
59 * adds `ucx_avl_free_content()` |
| |
60 * adds some more compare and distance functions in utils.h |
| |
61 * adds `SFMT()` and `PRIsstr` convenience macros |
| |
62 * destructor functions for `*_free_content()` functions are now optional |
| |
63 |
| |
64 ### Version 1.0.1 - 2018-01-21 {collapsible="true"} |
| |
65 |
| |
66 * some bug fixes |
| |
67 * adds integer overflow checks |
| |
68 |
| |
69 ### Version 1.0 - 2017-10-28 {collapsible="true"} |
| |
70 |
| |
71 * first stable version of UCX released |