Tue, 04 Oct 2022 19:25:07 +0200
fix over-optimization of strstr
1. it's actually less performant to frequently read bytes
from an array instead of using the native word length
2. the SBO buffer should be local and not static to allow
multi-threading usage
264
24f5484bae97
web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
1 | --- |
24f5484bae97
web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
2 | title: Overview |
24f5484bae97
web doc has now proper titles
Mike Becker <universe@uap-core.de>
parents:
259
diff
changeset
|
3 | --- |
259 | 4 | |
5 | Welcome to the UAP Common Extensions. | |
6 | ||
7 | With this library we provide useful data structures and algorithms for common | |
8 | programmatic tasks in the C language. By design the features are divided into | |
9 | modules to minimize the library footprint. Using the build files you can create | |
10 | a static and a shared lib containing all modules, but you may also use the UCX | |
11 | sources in your project and compile specific modules by yourself to further | |
12 | minimize the footprint. | |
13 | ||
333
b3ad9d1a20b7
fixes an url typo which survived surprisingly long
Mike Becker <universe@uap-core.de>
parents:
264
diff
changeset
|
14 | If you want to use this library, you can [download and install](install.html) |
259 | 15 | the recent version. |
16 | The source code is also available as Mercurial repository [at our site][1] and | |
17 | on [Source Forge][2]. | |
18 | ||
19 | [1]: https://develop.uap-core.de/hg/ucx/ | |
20 | [2]: https://sourceforge.net/p/ucx/code/ | |
21 | ||
22 | ### Authors | |
23 | ||
24 | Mike Becker [<universe@uap-core.de>](mailto:universe@uap-core.de) | |
25 | ||
26 | Olaf Wintermann | |
27 | [<olaf.wintermann@gmail.com>](mailto:olaf.wintermann@gmail.com) | |
386
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
28 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
29 | Changelog |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
30 | --------- |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
31 | |
390
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
386
diff
changeset
|
32 | ### Version 3.0 |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
386
diff
changeset
|
33 | |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
386
diff
changeset
|
34 | * under construction... |
d345541018fa
starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents:
386
diff
changeset
|
35 | |
386
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
36 | ### Version 2.1 - 2019-12-30 |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
37 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
38 | * adds string replace functions |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
39 | * adds set operations for ` UcxList` and `UcxMap` |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
40 | * adds `sstrcaseprefix()` and `sstrcasesuffix()` |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
41 | * improves Doxygen documentation in ucx/string.h |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
42 | * adds `UcxArray` data type |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
43 | * adds support for CMake builds, but main build system is still autotools |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
44 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
45 | ### Version 2.0 - 2018-12-28 |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
46 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
47 | * some uncritical bug fixes |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
48 | * overflow of `sstrnlen` now returns `SIZE_MAX` instead of zero |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
49 | * adds `scstr_t` - a `const char*` variant for sstr_t |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
50 | * renames utility compare functions |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
51 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
52 | ### Version 1.1 - 2018-05-14 |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
53 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
54 | * adds missing 32 bit support to integer overflow checks |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
55 | * adds `ucx_buffer_to_sstr()` macro |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
56 | * adds `ucx_avl_free_content()` |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
57 | * adds some more compare and distance functions in utils.h |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
58 | * adds `SFMT()` and `PRIsstr` convenience macros |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
59 | * destructor functions for `*_free_content()` functions are now optional |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
60 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
61 | ### Version 1.0.1 - 2018-01-21 |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
62 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
63 | * some bug fixes |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
64 | * adds integer overflow checks |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
65 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
66 | ### Version 1.0 - 2017-10-28 |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
67 | |
8ebfe95077eb
adds changelog to html documentation
Mike Becker <universe@uap-core.de>
parents:
333
diff
changeset
|
68 | * first stable version of UCX released |