{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.8hyWxhk4/b1/ucommon_7.0.1-0.4_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.8hyWxhk4/b2/ucommon_7.0.1-0.4_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,7 +1,7 @@\n \n c030c051484eef2e2f7c0ceed8075ddd 437408 libdevel optional libucommon-dev_7.0.1-0.4_arm64.deb\n d5392c8e6dec8ece796766b4b96eae54 1412464 debug optional libucommon8t64-dbgsym_7.0.1-0.4_arm64.deb\n ba848e3a9d1b405cd296e574974ba7ae 271304 libs optional libucommon8t64_7.0.1-0.4_arm64.deb\n- 7faa84231be50fa3c216186898e8fa66 706048 doc optional ucommon-doc_7.0.1-0.4_all.deb\n+ fa883b0b7bafc8cdc3769dca93493eff 705956 doc optional ucommon-doc_7.0.1-0.4_all.deb\n edce7116a17bf7ba0e8cf90a77dfea84 225192 debug optional ucommon-utils-dbgsym_7.0.1-0.4_arm64.deb\n b54acc3be6da030dd24466e02b7e797d 55636 utils optional ucommon-utils_7.0.1-0.4_arm64.deb\n"}, {"source1": "ucommon-doc_7.0.1-0.4_all.deb", "source2": "ucommon-doc_7.0.1-0.4_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-09-18 13:32:10.000000 debian-binary\n--rw-r--r-- 0 0 0 7956 2024-09-18 13:32:10.000000 control.tar.xz\n--rw-r--r-- 0 0 0 697900 2024-09-18 13:32:10.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 7964 2024-09-18 13:32:10.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 697800 2024-09-18 13:32:10.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}, {"source1": "line order", "source2": "line order", "unified_diff": "@@ -1,15 +1,15 @@\n usr/share/doc-base/ucommon-doc.ucommon\n usr/share/doc/ucommon-doc/changelog.Debian.gz\n usr/share/doc/ucommon-doc/changelog.gz\n usr/share/doc/ucommon-doc/copyright\n-usr/share/doc/ucommon-doc/html/a00155.html\n-usr/share/doc/ucommon-doc/html/a00155_source.html\n-usr/share/doc/ucommon-doc/html/a00156.svg\n-usr/share/doc/ucommon-doc/html/a00157.svg\n+usr/share/doc/ucommon-doc/html/a00191.html\n+usr/share/doc/ucommon-doc/html/a00191_source.html\n+usr/share/doc/ucommon-doc/html/a00192.svg\n+usr/share/doc/ucommon-doc/html/a00193.svg\n usr/share/doc/ucommon-doc/html/a00392.html\n usr/share/doc/ucommon-doc/html/a00392_source.html\n usr/share/doc/ucommon-doc/html/a00393.svg\n usr/share/doc/ucommon-doc/html/a00394.svg\n usr/share/doc/ucommon-doc/html/a00395.html\n usr/share/doc/ucommon-doc/html/a00395_source.html\n usr/share/doc/ucommon-doc/html/a00396.svg\n"}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -3,18 +3,18 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-09-18 13:32:10.000000 ./usr/share/\n drwxr-xr-x 0 root (0) root (0) 0 2024-09-18 13:32:10.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/\n -rw-r--r-- 0 root (0) root (0) 1036 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 11347 2021-08-28 12:28:09.000000 ./usr/share/doc/ucommon-doc/changelog.gz\n -rw-r--r-- 0 root (0) root (0) 10691 2022-04-09 00:13:50.000000 ./usr/share/doc/ucommon-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/\n--rw-r--r-- 0 root (0) root (0) 9127 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00155.html\n--rw-r--r-- 0 root (0) root (0) 77944 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00155_source.html\n--rw-r--r-- 0 root (0) root (0) 25834 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00156.svg\n--rw-r--r-- 0 root (0) root (0) 69410 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00157.svg\n+-rw-r--r-- 0 root (0) root (0) 9127 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00191.html\n+-rw-r--r-- 0 root (0) root (0) 77944 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00191_source.html\n+-rw-r--r-- 0 root (0) root (0) 25834 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00192.svg\n+-rw-r--r-- 0 root (0) root (0) 69410 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00193.svg\n -rw-r--r-- 0 root (0) root (0) 11490 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00392.html\n -rw-r--r-- 0 root (0) root (0) 44628 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00392_source.html\n -rw-r--r-- 0 root (0) root (0) 23221 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00393.svg\n -rw-r--r-- 0 root (0) root (0) 44121 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00394.svg\n -rw-r--r-- 0 root (0) root (0) 6577 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00395.html\n -rw-r--r-- 0 root (0) root (0) 17446 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00395_source.html\n -rw-r--r-- 0 root (0) root (0) 91014 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/a00396.svg\n@@ -286,17 +286,17 @@\n -rw-r--r-- 0 root (0) root (0) 19079 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/functions_func.html\n -rw-r--r-- 0 root (0) root (0) 3218 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/globals.html\n -rw-r--r-- 0 root (0) root (0) 2613 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/globals_defs.html\n -rw-r--r-- 0 root (0) root (0) 2848 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/globals_func.html\n -rw-r--r-- 0 root (0) root (0) 2734 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/globals_type.html\n -rw-r--r-- 0 root (0) root (0) 6307 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/graph_legend.html\n -rw-r--r-- 0 root (0) root (0) 6563 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/graph_legend.svg\n--rw-r--r-- 0 root (0) root (0) 17656 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/index.hhc.gz\n+-rw-r--r-- 0 root (0) root (0) 17659 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/index.hhc.gz\n -rw-r--r-- 0 root (0) root (0) 14350 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/index.hhk.gz\n--rw-r--r-- 0 root (0) root (0) 1677 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/index.hhp.gz\n+-rw-r--r-- 0 root (0) root (0) 1676 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/index.hhp.gz\n -rw-r--r-- 0 root (0) root (0) 5905 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/index.html\n -rw-r--r-- 0 root (0) root (0) 5066 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/menudata.js\n -rw-r--r-- 0 root (0) root (0) 582 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/minus.svg\n -rw-r--r-- 0 root (0) root (0) 582 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/minusd.svg\n -rw-r--r-- 0 root (0) root (0) 11233 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/namespacemembers.html\n -rw-r--r-- 0 root (0) root (0) 6824 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/namespacemembers_func.html\n -rw-r--r-- 0 root (0) root (0) 5684 2024-09-18 13:32:10.000000 ./usr/share/doc/ucommon-doc/html/namespacemembers_type.html\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00395.html", "source2": "./usr/share/doc/ucommon-doc/html/a00395.html", "unified_diff": "@@ -64,15 +64,15 @@\n #include <ucommon/string.h>
\n #include <ucommon/counter.h>
\n #include <ucommon/numbers.h>
\n #include <ucommon/reuse.h>
\n #include <ucommon/linked.h>
\n #include <ucommon/timers.h>
\n #include <ucommon/access.h>
\n-#include <ucommon/memory.h>
\n+#include <ucommon/memory.h>
\n #include <ucommon/mapped.h>
\n #include <ucommon/unicode.h>
\n #include <ucommon/datetime.h>
\n #include <ucommon/keydata.h>
\n #include <ucommon/socket.h>
\n #include <ucommon/condition.h>
\n #include <ucommon/thread.h>
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00395_source.html", "source2": "./usr/share/doc/ucommon-doc/html/a00395_source.html", "unified_diff": "@@ -81,15 +81,15 @@\n
93#include <ucommon/string.h>
\n
94#include <ucommon/counter.h>
\n
95#include <ucommon/numbers.h>
\n
96#include <ucommon/reuse.h>
\n
97#include <ucommon/linked.h>
\n
98#include <ucommon/timers.h>
\n
99#include <ucommon/access.h>
\n-
100#include <ucommon/memory.h>
\n+
100#include <ucommon/memory.h>
\n
101#include <ucommon/mapped.h>
\n
102#include <ucommon/unicode.h>
\n
103#include <ucommon/datetime.h>
\n
104#include <ucommon/keydata.h>
\n
105#include <ucommon/socket.h>
\n
106#include <ucommon/condition.h>
\n
107#include <ucommon/thread.h>
\n@@ -102,15 +102,15 @@\n
114
\n
115#ifndef UCOMMON_SYSRUNTIME
\n
116#include <ucommon/stream.h>
\n
117#include <ucommon/stl.h>
\n
118#endif
\n
119
\n
120#endif
\n-
memory.h
Private heaps, pools, and associations.
\n+
memory.h
Private heaps, pools, and associations.
\n
unicode.h
Basic UCommon Unicode support.
\n
typeref.h
A thread-safe atomic heap management system.
\n
timers.h
Realtime timers and timer queues.
\n
temporary.h
Temporary templates for C++.
\n
stream.h
Any ucommon streaming classes that are built from std::streamio facilities and that support ANSI C++ ...
\n
stl.h
Placeholder for future classes that require stl support.
\n
shell.h
Generic shell parsing and application services.
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00396.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00396.svg", "has_internal_linenos": true, "unified_diff": "@@ -661,15 +661,15 @@\n 00002940: 0a3c 2f67 3e0a 3c21 2d2d 204e 6f64 6533 ....No\n 00002980: 6465 3331 3c2f 7469 746c 653e 0a3c 6720 de31.....<\n 00005fc0: 212d 2d20 4e6f 6465 3330 202d 2d3e 0a3c !-- Node30 -->.<\n 00005fd0: 6720 6964 3d22 4e6f 6465 3030 3030 3330 g id=\"Node000030\n 00005fe0: 2220 636c 6173 733d 226e 6f64 6522 3e0a \" class=\"node\">.\n 00005ff0: 3c74 6974 6c65 3e4e 6f64 6533 303c 2f74 Node30</t\n 00006000: 6974 6c65 3e0a 3c67 2069 643d 2261 5f4e itle>.<g id=\"a_N\n 00006010: 6f64 6530 3030 3033 3022 3e3c 6120 786c ode000030\"><a xl\n-00006020: 696e 6b3a 6872 6566 3d22 6130 3031 3535 ink:href=\"a00155\n+00006020: 696e 6b3a 6872 6566 3d22 6130 3031 3931 ink:href=\"a00191\n 00006030: 2e68 746d 6c22 2074 6172 6765 743d 225f .html\" target=\"_\n 00006040: 746f 7022 2078 6c69 6e6b 3a74 6974 6c65 top\" xlink:title\n 00006050: 3d22 5072 6976 6174 6520 6865 6170 732c =\"Private heaps,\n 00006060: 2070 6f6f 6c73 2c20 616e 6420 6173 736f pools, and asso\n 00006070: 6369 6174 696f 6e73 2e22 3e0a 3c70 6f6c ciations.\">.<pol\n 00006080: 7967 6f6e 2066 696c 6c3d 2277 6869 7465 ygon fill=\"white\n 00006090: 2220 7374 726f 6b65 3d22 2336 3636 3636 \" stroke=\"#66666\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00407.html", "source2": "./usr/share/doc/ucommon-doc/html/a00407.html", "unified_diff": "@@ -58,15 +58,15 @@\n \n <p>Temporary templates for C++. \n <a href=\"#details\">More...</a></p>\n <div class=\"textblock\"><code>#include <<a class=\"el\" href=\"a00434_source.html\">ucommon/platform.h</a>></code><br />\n <code>#include <<a class=\"el\" href=\"a00431_source.html\">ucommon/protocols.h</a>></code><br />\n <code>#include <<a class=\"el\" href=\"a00960_source.html\">ucommon/thread.h</a>></code><br />\n <code>#include <<a class=\"el\" href=\"a00954_source.html\">ucommon/string.h</a>></code><br />\n-<code>#include <<a class=\"el\" href=\"a00155_source.html\">ucommon/memory.h</a>></code><br />\n+<code>#include <<a class=\"el\" href=\"a00191_source.html\">ucommon/memory.h</a>></code><br />\n <code>#include <<a class=\"el\" href=\"a00458_source.html\">ucommon/fsys.h</a>></code><br />\n <code>#include <cstdlib></code><br />\n <code>#include <cstring></code><br />\n <code>#include <stdexcept></code><br />\n </div><div class=\"textblock\"><div class=\"dynheader\">\n Include dependency graph for temporary.h:</div>\n <div class=\"dyncontent\">\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00407_source.html", "source2": "./usr/share/doc/ucommon-doc/html/a00407_source.html", "unified_diff": "@@ -85,15 +85,15 @@\n <div class=\"line\"><a id=\"l00038\" name=\"l00038\"></a><span class=\"lineno\"> 38</span><span class=\"preprocessor\">#endif</span></div>\n <div class=\"line\"><a id=\"l00039\" name=\"l00039\"></a><span class=\"lineno\"> 39</span> </div>\n <div class=\"line\"><a id=\"l00040\" name=\"l00040\"></a><span class=\"lineno\"> 40</span><span class=\"preprocessor\">#ifndef _UCOMMON_STRING_H_</span></div>\n <div class=\"line\"><a id=\"l00041\" name=\"l00041\"></a><span class=\"lineno\"> 41</span><span class=\"preprocessor\">#include <<a class=\"code\" href=\"a00954.html\">ucommon/string.h</a>></span></div>\n <div class=\"line\"><a id=\"l00042\" name=\"l00042\"></a><span class=\"lineno\"> 42</span><span class=\"preprocessor\">#endif</span></div>\n <div class=\"line\"><a id=\"l00043\" name=\"l00043\"></a><span class=\"lineno\"> 43</span> </div>\n <div class=\"line\"><a id=\"l00044\" name=\"l00044\"></a><span class=\"lineno\"> 44</span><span class=\"preprocessor\">#ifndef _UCOMMON_MEMORY_H_</span></div>\n-<div class=\"line\"><a id=\"l00045\" name=\"l00045\"></a><span class=\"lineno\"> 45</span><span class=\"preprocessor\">#include <<a class=\"code\" href=\"a00155.html\">ucommon/memory.h</a>></span></div>\n+<div class=\"line\"><a id=\"l00045\" name=\"l00045\"></a><span class=\"lineno\"> 45</span><span class=\"preprocessor\">#include <<a class=\"code\" href=\"a00191.html\">ucommon/memory.h</a>></span></div>\n <div class=\"line\"><a id=\"l00046\" name=\"l00046\"></a><span class=\"lineno\"> 46</span><span class=\"preprocessor\">#endif</span></div>\n <div class=\"line\"><a id=\"l00047\" name=\"l00047\"></a><span class=\"lineno\"> 47</span> </div>\n <div class=\"line\"><a id=\"l00048\" name=\"l00048\"></a><span class=\"lineno\"> 48</span><span class=\"preprocessor\">#ifndef _UCOMMON_FSYS_H_</span></div>\n <div class=\"line\"><a id=\"l00049\" name=\"l00049\"></a><span class=\"lineno\"> 49</span><span class=\"preprocessor\">#include <<a class=\"code\" href=\"a00458.html\">ucommon/fsys.h</a>></span></div>\n <div class=\"line\"><a id=\"l00050\" name=\"l00050\"></a><span class=\"lineno\"> 50</span><span class=\"preprocessor\">#endif</span></div>\n <div class=\"line\"><a id=\"l00051\" name=\"l00051\"></a><span class=\"lineno\"> 51</span> </div>\n <div class=\"line\"><a id=\"l00052\" name=\"l00052\"></a><span class=\"lineno\"> 52</span><span class=\"preprocessor\">#include <cstdlib></span></div>\n@@ -371,15 +371,15 @@\n <div class=\"line\"><a id=\"l00360\" name=\"l00360\"></a><span class=\"lineno\"> 360</span> }</div>\n <div class=\"line\"><a id=\"l00361\" name=\"l00361\"></a><span class=\"lineno\"> 361</span> }</div>\n <div class=\"line\"><a id=\"l00362\" name=\"l00362\"></a><span class=\"lineno\"> 362</span>};</div>\n <div class=\"line\"><a id=\"l00363\" name=\"l00363\"></a><span class=\"lineno\"> 363</span> </div>\n <div class=\"line\"><a id=\"l00364\" name=\"l00364\"></a><span class=\"lineno\"> 364</span>} <span class=\"comment\">// namespace ucommon</span></div>\n <div class=\"line\"><a id=\"l00365\" name=\"l00365\"></a><span class=\"lineno\"> 365</span> </div>\n <div class=\"line\"><a id=\"l00366\" name=\"l00366\"></a><span class=\"lineno\"> 366</span><span class=\"preprocessor\">#endif</span></div>\n-<div class=\"ttc\" id=\"aa00155_html\"><div class=\"ttname\"><a href=\"a00155.html\">memory.h</a></div><div class=\"ttdoc\">Private heaps, pools, and associations.</div></div>\n+<div class=\"ttc\" id=\"aa00191_html\"><div class=\"ttname\"><a href=\"a00191.html\">memory.h</a></div><div class=\"ttdoc\">Private heaps, pools, and associations.</div></div>\n <div class=\"ttc\" id=\"aa00431_html\"><div class=\"ttname\"><a href=\"a00431.html\">protocols.h</a></div><div class=\"ttdoc\">Abstract interfaces and support.</div></div>\n <div class=\"ttc\" id=\"aa00434_html\"><div class=\"ttname\"><a href=\"a00434.html\">platform.h</a></div><div class=\"ttdoc\">Various miscellaneous platform specific headers and defines.</div></div>\n <div class=\"ttc\" id=\"aa00458_html\"><div class=\"ttname\"><a href=\"a00458.html\">fsys.h</a></div><div class=\"ttdoc\">Thread-aware file system manipulation class.</div></div>\n <div class=\"ttc\" id=\"aa00539_html\"><div class=\"ttname\"><a href=\"a00539.html\">ucommon</a></div><div class=\"ttdoc\">Common namespace for all ucommon objects.</div><div class=\"ttdef\"><b>Definition</b> <a href=\"a00482_source.html#l00047\">access.h:47</a></div></div>\n <div class=\"ttc\" id=\"aa00706_html\"><div class=\"ttname\"><a href=\"a00706.html\">ucommon::temporary</a></div><div class=\"ttdoc\">Manage temporary object stored on the heap.</div><div class=\"ttdef\"><b>Definition</b> <a href=\"a00407_source.html#l00085\">temporary.h:86</a></div></div>\n <div class=\"ttc\" id=\"aa00706_html_a4e33b61d43c50f1a7c54e3b91e1a3fc7\"><div class=\"ttname\"><a href=\"a00706.html#a4e33b61d43c50f1a7c54e3b91e1a3fc7\">ucommon::temporary::operator-></a></div><div class=\"ttdeci\">T * operator->() const</div><div class=\"ttdoc\">Access members of our heap object through our temporary.</div><div class=\"ttdef\"><b>Definition</b> <a href=\"a00407_source.html#l00139\">temporary.h:139</a></div></div>\n <div class=\"ttc\" id=\"aa00706_html_a4f8ae30f78b328450fecfd8192cf4697\"><div class=\"ttname\"><a href=\"a00706.html#a4f8ae30f78b328450fecfd8192cf4697\">ucommon::temporary::operator*</a></div><div class=\"ttdeci\">T & operator*() const</div><div class=\"ttdoc\">Access heap object through our temporary directly.</div><div class=\"ttdef\"><b>Definition</b> <a href=\"a00407_source.html#l00131\">temporary.h:131</a></div></div>\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00408.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00408.svg", "has_internal_linenos": true, "unified_diff": "@@ -383,15 +383,15 @@\n 000017e0: 2f67 3e0a 3c21 2d2d 204e 6f64 6532 3920 /g>.<!-- Node29 \n 000017f0: 2d2d 3e0a 3c67 2069 643d 224e 6f64 6530 -->.<g id=\"Node0\n 00001800: 3030 3032 3922 2063 6c61 7373 3d22 6e6f 00029\" class=\"no\n 00001810: 6465 223e 0a3c 7469 746c 653e 4e6f 6465 de\">.<title>Node\n 00001820: 3239 3c2f 7469 746c 653e 0a3c 6720 6964 29.\n 00001840: 3c61 2078 6c69 6e6b 3a68 7265 663d 2261 \n 000018a0: 0a3c 706f 6c79 676f 6e20 6669 6c6c 3d22 .
protocols.h
Abstract interfaces and support.
\n
platform.h
Various miscellaneous platform specific headers and defines.
\n
fsys.h
Thread-aware file system manipulation class.
\n
ucommon
Common namespace for all ucommon objects.
Definition access.h:47
\n
ucommon::string_t
String string_t
A convenience type for string.
Definition string.h:1579
\n
ucommon::fsys_t
class __attribute__((visibility("default"))) dir typedef fsys fsys_t
Convenience class for directories.
Definition fsys.h:743
\n
ucommon::addr
const struct sockaddr * addr(Socket::address &address)
A convenience function to convert a socket address list into a socket address.
Definition socket.h:2089
\n-
ucommon::stringlist_t
StringPager stringlist_t
A convenience type for paged string lists.
Definition memory.h:885
\n+
ucommon::stringlist_t
StringPager stringlist_t
A convenience type for paged string lists.
Definition memory.h:885
\n
socket.h
Common socket class and address manipulation.
\n
thread.h
Thread classes and sychronization objects.
\n \n \n
\n Generated by \"doxygen\"/ 1.9.8\n
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00411.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00411.svg", "has_internal_linenos": true, "unified_diff": "@@ -1350,15 +1350,15 @@\n 00005450: 0a3c 2f67 3e0a 3c21 2d2d 204e 6f64 6532 ....No\n 00005490: 6465 3239 3c2f 7469 746c 653e 0a3c 6720 de29..
shell.h File Reference
\n \n
\n \n

Generic shell parsing and application services. \n More...

\n
#include <ucommon/string.h>
\n-#include <ucommon/memory.h>
\n+#include <ucommon/memory.h>
\n
\n Include dependency graph for shell.h:
\n
\n
\n
\n
\n This graph shows which files directly or indirectly include this file:
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00419_source.html", "source2": "./usr/share/doc/ucommon-doc/html/a00419_source.html", "unified_diff": "@@ -70,15 +70,15 @@\n
17// along with GNU uCommon C++. If not, see <http://www.gnu.org/licenses/>.
\n
18
\n
29#ifndef _UCOMMON_STRING_H_
\n
30#include <ucommon/string.h>
\n
31#endif
\n
32
\n
33#ifndef _UCOMMON_MEMORY_H_
\n-
34#include <ucommon/memory.h>
\n+
34#include <ucommon/memory.h>
\n
35#endif
\n
36
\n
37#ifndef _UCOMMON_SHELL_H_
\n
38#define _UCOMMON_SHELL_H_
\n
39
\n
40#ifdef _MSWINDOWS_
\n
41#define INVALID_PID_VALUE INVALID_HANDLE_VALUE
\n@@ -549,15 +549,15 @@\n
910
\n
911inline const char *_TEXT(const char *s)
\n
912 {return shell::text(s);}
\n
913
\n
914} // namespace ucommon
\n
915
\n
916#endif
\n-
Private heaps, pools, and associations.
\n+
Private heaps, pools, and associations.
\n
Common namespace for all ucommon objects.
Definition access.h:47
\n
class __attribute__((visibility("default"))) shell typedef shell shell_t
A utility class for generic shell operations.
Definition shell.h:59
\n
const char * __TEXT(const char *s)
Invoke translation lookup if available.
Definition shell.h:908
\n
A common string class and character string support functions.
\n
\n \n
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00420.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00420.svg", "has_internal_linenos": true, "unified_diff": "@@ -110,15 +110,15 @@\n 000006d0: 673e 0a3c 2f67 3e0a 3c21 2d2d 204e 6f64 g>....\n 00000710: 4e6f 6465 3236 3c2f 7469 746c 653e 0a3c Node26.<\n 00000720: 6720 6964 3d22 615f 4e6f 6465 3030 3030 g id=\"a_Node0000\n 00000730: 3236 223e 3c61 2078 6c69 6e6b 3a68 7265 26\">......<\n 00006ef0: 7469 746c 653e 4e6f 6465 3331 3c2f 7469 title>Node31.....Nod\n 00005b10: 6533 323c 2f74 6974 6c65 3e0a 3c67 2069 e32.. 326};\n
327
\n
328} // namespace ucommon
\n
329
\n
330#endif
\n
Common namespace for all ucommon objects.
Definition access.h:47
\n
T &() limit(T &value, T &low, T &high)
Convenience macro to range restrict values.
Definition generics.h:473
\n-
This is a base class for objects that may be created in pager pools.
Definition memory.h:854
\n+
This is a base class for objects that may be created in pager pools.
Definition memory.h:854
\n
An array of reusable objects.
Definition reuse.h:105
\n
T * request(void)
Request immediately next available typed object from the heap.
Definition reuse.h:145
\n
array_reuse(unsigned count, void *memory)
Create reusable objects of specific type in preallocated memory.
Definition reuse.h:122
\n
T * create(timeout_t timeout)
Create a typed object from the heap.
Definition reuse.h:183
\n
T * create(void)
Create a typed object from the heap.
Definition reuse.h:163
\n
T * get(void)
Get a typed object from the heap.
Definition reuse.h:154
\n
array_reuse(unsigned count)
Create private heap of reusable objects of specified type.
Definition reuse.h:114
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00429.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00429.svg", "has_internal_linenos": true, "unified_diff": "@@ -216,15 +216,15 @@\n 00000d70: 3e0a 3c21 2d2d 204e 6f64 6532 3920 2d2d >...Node\n 00001e80: 3333 3c2f 7469 746c 653e 0a3c 6720 6964 33.\n 00001ea0: 3c61 2078 6c69 6e6b 3a68 7265 663d 2261 \n 00001f00: 0a3c 706f 6c79 676f 6e20 6669 6c6c 3d22 .....Node48.....Nod\n 00006ff0: 6533 313c 2f74 6974 6c65 3e0a 3c67 2069 e31......N\n 00005f30: 6f64 6532 393c 2f74 6974 6c65 3e0a 3c67 ode29.......Node30..\n
\n \n

Parsing of config files that have keyword/value pairs. \n More...

\n
#include <ucommon/platform.h>
\n #include <ucommon/linked.h>
\n-#include <ucommon/memory.h>
\n+#include <ucommon/memory.h>
\n
\n Include dependency graph for keydata.h:
\n
\n
\n
\n
\n This graph shows which files directly or indirectly include this file:
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00452_source.html", "source2": "./usr/share/doc/ucommon-doc/html/a00452_source.html", "unified_diff": "@@ -77,15 +77,15 @@\n
36#endif
\n
37
\n
38#ifndef _UCOMMON_LINKED_H_
\n
39#include <ucommon/linked.h>
\n
40#endif
\n
41
\n
42#ifndef _UCOMMON_MEMORY_H_
\n-
43#include <ucommon/memory.h>
\n+
43#include <ucommon/memory.h>
\n
44#endif
\n
45
\n
46namespace ucommon {
\n
47
\n
48class keyfile;
\n
49
\n
58class __EXPORT keydata : public OrderedObject
\n@@ -210,15 +210,15 @@\n
280 return *this;
\n
281 }
\n
282};
\n
283
\n
284} // namespace ucommon
\n
285
\n
286#endif
\n-
Private heaps, pools, and associations.
\n+
Private heaps, pools, and associations.
\n
Various miscellaneous platform specific headers and defines.
\n
Linked objects, lists, templates, and containers.
\n
Common namespace for all ucommon objects.
Definition access.h:47
\n
\n \n
\n Generated by \"doxygen\"/ 1.9.8\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00453.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00453.svg", "has_internal_linenos": true, "unified_diff": "@@ -172,15 +172,15 @@\n 00000ab0: 673e 0a3c 212d 2d20 4e6f 6465 3235 202d g>.\n 0000db00: 0a3c 6720 6964 3d22 4e6f 6465 3030 3030 ..Node33<\n 0000db30: 2f74 6974 6c65 3e0a 3c67 2069 643d 2261 /title>.<g id=\"a\n 0000db40: 5f4e 6f64 6530 3030 3033 3322 3e3c 6120 _Node000033\"><a \n 0000db50: 786c 696e 6b3a 6872 6566 3d22 6130 3031 xlink:href=\"a001\n-0000db60: 3535 2e68 746d 6c22 2074 6172 6765 743d 55.html\" target=\n+0000db60: 3931 2e68 746d 6c22 2074 6172 6765 743d 91.html\" target=\n 0000db70: 225f 746f 7022 2078 6c69 6e6b 3a74 6974 \"_top\" xlink:tit\n 0000db80: 6c65 3d22 5072 6976 6174 6520 6865 6170 le=\"Private heap\n 0000db90: 732c 2070 6f6f 6c73 2c20 616e 6420 6173 s, pools, and as\n 0000dba0: 736f 6369 6174 696f 6e73 2e22 3e0a 3c70 sociations.\">.<p\n 0000dbb0: 6f6c 7967 6f6e 2066 696c 6c3d 2277 6869 olygon fill=\"whi\n 0000dbc0: 7465 2220 7374 726f 6b65 3d22 2336 3636 te\" stroke=\"#666\n 0000dbd0: 3636 3622 2070 6f69 6e74 733d 2231 3236 666\" points=\"126\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00458.html", "source2": "./usr/share/doc/ucommon-doc/html/a00458.html", "unified_diff": "@@ -60,15 +60,15 @@\n \n <p>Thread-aware file system manipulation class. \n <a href=\"#details\">More...</a></p>\n <div class=\"textblock\"><code>#include <<a class=\"el\" href=\"a00434_source.html\">ucommon/platform.h</a>></code><br />\n <code>#include <<a class=\"el\" href=\"a00431_source.html\">ucommon/protocols.h</a>></code><br />\n <code>#include <<a class=\"el\" href=\"a00960_source.html\">ucommon/thread.h</a>></code><br />\n <code>#include <<a class=\"el\" href=\"a00398_source.html\">ucommon/typeref.h</a>></code><br />\n-<code>#include <<a class=\"el\" href=\"a00155_source.html\">ucommon/memory.h</a>></code><br />\n+<code>#include <<a class=\"el\" href=\"a00191_source.html\">ucommon/memory.h</a>></code><br />\n <code>#include <sys/stat.h></code><br />\n <code>#include <errno.h></code><br />\n <code>#include <stdio.h></code><br />\n </div><div class=\"textblock\"><div class=\"dynheader\">\n Include dependency graph for fsys.h:</div>\n <div class=\"dyncontent\">\n <div class=\"center\"><iframe scrolling=\"no\" frameborder=\"0\" src=\"a00459.svg\" width=\"1879\" height=\"770\"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00458_source.html", "source2": "./usr/share/doc/ucommon-doc/html/a00458_source.html", "unified_diff": "@@ -85,15 +85,15 @@\n <div class=\"line\"><a id=\"l00041\" name=\"l00041\"></a><span class=\"lineno\"> 41</span><span class=\"preprocessor\">#endif</span></div>\n <div class=\"line\"><a id=\"l00042\" name=\"l00042\"></a><span class=\"lineno\"> 42</span> </div>\n <div class=\"line\"><a id=\"l00043\" name=\"l00043\"></a><span class=\"lineno\"> 43</span><span class=\"preprocessor\">#ifndef _UCOMMON_TYPEREF_H_</span></div>\n <div class=\"line\"><a id=\"l00044\" name=\"l00044\"></a><span class=\"lineno\"> 44</span><span class=\"preprocessor\">#include <<a class=\"code\" href=\"a00398.html\">ucommon/typeref.h</a>></span></div>\n <div class=\"line\"><a id=\"l00045\" name=\"l00045\"></a><span class=\"lineno\"> 45</span><span class=\"preprocessor\">#endif</span></div>\n <div class=\"line\"><a id=\"l00046\" name=\"l00046\"></a><span class=\"lineno\"> 46</span> </div>\n <div class=\"line\"><a id=\"l00047\" name=\"l00047\"></a><span class=\"lineno\"> 47</span><span class=\"preprocessor\">#ifndef _UCOMMON_MEMORY_H_</span></div>\n-<div class=\"line\"><a id=\"l00048\" name=\"l00048\"></a><span class=\"lineno\"> 48</span><span class=\"preprocessor\">#include <<a class=\"code\" href=\"a00155.html\">ucommon/memory.h</a>></span></div>\n+<div class=\"line\"><a id=\"l00048\" name=\"l00048\"></a><span class=\"lineno\"> 48</span><span class=\"preprocessor\">#include <<a class=\"code\" href=\"a00191.html\">ucommon/memory.h</a>></span></div>\n <div class=\"line\"><a id=\"l00049\" name=\"l00049\"></a><span class=\"lineno\"> 49</span><span class=\"preprocessor\">#endif</span></div>\n <div class=\"line\"><a id=\"l00050\" name=\"l00050\"></a><span class=\"lineno\"> 50</span> </div>\n <div class=\"line\"><a id=\"l00051\" name=\"l00051\"></a><span class=\"lineno\"> 51</span><span class=\"preprocessor\">#ifndef _MSWINDOWS_</span></div>\n <div class=\"line\"><a id=\"l00052\" name=\"l00052\"></a><span class=\"lineno\"> 52</span><span class=\"preprocessor\">#include <sys/stat.h></span></div>\n <div class=\"line\"><a id=\"l00053\" name=\"l00053\"></a><span class=\"lineno\"> 53</span><span class=\"preprocessor\">#else</span></div>\n <div class=\"line\"><a id=\"l00054\" name=\"l00054\"></a><span class=\"lineno\"> 54</span><span class=\"preprocessor\">#include <io.h></span></div>\n <div class=\"line\"><a id=\"l00055\" name=\"l00055\"></a><span class=\"lineno\"> 55</span><span class=\"preprocessor\">#ifndef R_OK</span></div>\n@@ -518,15 +518,15 @@\n <div class=\"line\"><a id=\"l00875\" name=\"l00875\"></a><span class=\"lineno\"> 875</span> <span class=\"keywordflow\">return</span> fsys::is_device(path);</div>\n <div class=\"line\"><a id=\"l00876\" name=\"l00876\"></a><span class=\"lineno\"> 876</span>}</div>\n <div class=\"line\"><a id=\"l00877\" name=\"l00877\"></a><span class=\"lineno\"> 877</span> </div>\n <div class=\"line\"><a id=\"l00878\" name=\"l00878\"></a><span class=\"lineno\"> 878</span>} <span class=\"comment\">// namespace ucommon</span></div>\n <div class=\"line\"><a id=\"l00879\" name=\"l00879\"></a><span class=\"lineno\"> 879</span> </div>\n <div class=\"line\"><a id=\"l00880\" name=\"l00880\"></a><span class=\"lineno\"> 880</span><span class=\"preprocessor\">#endif</span></div>\n <div class=\"line\"><a id=\"l00881\" name=\"l00881\"></a><span class=\"lineno\"> 881</span> </div>\n-<div class=\"ttc\" id=\"aa00155_html\"><div class=\"ttname\"><a href=\"a00155.html\">memory.h</a></div><div class=\"ttdoc\">Private heaps, pools, and associations.</div></div>\n+<div class=\"ttc\" id=\"aa00191_html\"><div class=\"ttname\"><a href=\"a00191.html\">memory.h</a></div><div class=\"ttdoc\">Private heaps, pools, and associations.</div></div>\n <div class=\"ttc\" id=\"aa00398_html\"><div class=\"ttname\"><a href=\"a00398.html\">typeref.h</a></div><div class=\"ttdoc\">A thread-safe atomic heap management system.</div></div>\n <div class=\"ttc\" id=\"aa00431_html\"><div class=\"ttname\"><a href=\"a00431.html\">protocols.h</a></div><div class=\"ttdoc\">Abstract interfaces and support.</div></div>\n <div class=\"ttc\" id=\"aa00434_html\"><div class=\"ttname\"><a href=\"a00434.html\">platform.h</a></div><div class=\"ttdoc\">Various miscellaneous platform specific headers and defines.</div></div>\n <div class=\"ttc\" id=\"aa00539_html\"><div class=\"ttname\"><a href=\"a00539.html\">ucommon</a></div><div class=\"ttdoc\">Common namespace for all ucommon objects.</div><div class=\"ttdef\"><b>Definition</b> <a href=\"a00482_source.html#l00047\">access.h:47</a></div></div>\n <div class=\"ttc\" id=\"aa00539_html_a3495e18b16f4b21e6303f1de58646f7e\"><div class=\"ttname\"><a href=\"a00539.html#a3495e18b16f4b21e6303f1de58646f7e\">ucommon::fsys_t</a></div><div class=\"ttdeci\">class __attribute__((visibility("default"))) dir typedef fsys fsys_t</div><div class=\"ttdoc\">Convenience class for directories.</div><div class=\"ttdef\"><b>Definition</b> <a href=\"a00458_source.html#l00832\">fsys.h:743</a></div></div>\n <div class=\"ttc\" id=\"aa00539_html_a81814d8ebd1c6bd5a48b5b508f1f5193\"><div class=\"ttname\"><a href=\"a00539.html#a81814d8ebd1c6bd5a48b5b508f1f5193\">ucommon::mem_t</a></div><div class=\"ttdeci\">void * mem_t</div><div class=\"ttdoc\">Convenience type for loader operations.</div><div class=\"ttdef\"><b>Definition</b> <a href=\"a00458_source.html#l00115\">fsys.h:115</a></div></div>\n <div class=\"ttc\" id=\"aa00539_html_a9d0aa33290b08e0eeeffa9ed9cdd67db\"><div class=\"ttname\"><a href=\"a00539.html#a9d0aa33290b08e0eeeffa9ed9cdd67db\">ucommon::copy</a></div><div class=\"ttdeci\">T copy(const T &src)</div><div class=\"ttdoc\">Convenience function to copy objects.</div><div class=\"ttdef\"><b>Definition</b> <a href=\"a00455_source.html#l00400\">generics.h:400</a></div></div>\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00459.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00459.svg", "has_internal_linenos": true, "unified_diff": "@@ -321,15 +321,15 @@\n 00001400: 3c2f 673e 0a3c 2f67 3e0a 3c21 2d2d 204e </g>.</g>.<!-- N\n 00001410: 6f64 6532 3920 2d2d 3e0a 3c67 2069 643d ode29 -->.<g id=\n 00001420: 224e 6f64 6530 3030 3032 3922 2063 6c61 \"Node000029\" cla\n 00001430: 7373 3d22 6e6f 6465 223e 0a3c 7469 746c ss=\"node\">.<titl\n 00001440: 653e 4e6f 6465 3239 3c2f 7469 746c 653e e>Node29\n 00001450: 0a3c 6720 6964 3d22 615f 4e6f 6465 3030 ......Node32\n 000073e0: 0a3c 6720 6964 3d22 615f 4e6f 6465 3030 ......Node45..\n
\n \n

Condition classes for thread sychronization and timing. \n More...

\n
#include <ucommon/cpr.h>
\n #include <ucommon/timers.h>
\n-#include <ucommon/memory.h>
\n+#include <ucommon/memory.h>
\n
\n Include dependency graph for condition.h:
\n
\n
\n
\n
\n This graph shows which files directly or indirectly include this file:
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00473_source.html", "source2": "./usr/share/doc/ucommon-doc/html/a00473_source.html", "unified_diff": "@@ -81,15 +81,15 @@\n
43#endif
\n
44
\n
45#ifndef _UCOMMON_TIMERS_H_
\n
46#include <ucommon/timers.h>
\n
47#endif
\n
48
\n
49#ifndef _UCOMMON_MEMORY_H_
\n-
50#include <ucommon/memory.h>
\n+
50#include <ucommon/memory.h>
\n
51#endif
\n
52
\n
53namespace ucommon {
\n
54
\n
61class __EXPORT ConditionMutex
\n
62{
\n
63private:
\n@@ -475,15 +475,15 @@\n
735typedef Semaphore semaphore_t;
\n
736
\n
740typedef Barrier barrier_t;
\n
741
\n
742} // namespace ucommon
\n
743
\n
744#endif
\n-
Private heaps, pools, and associations.
\n+
Private heaps, pools, and associations.
\n
Realtime timers and timer queues.
\n
Runtime functions.
\n
Locking protocol classes for member function automatic operations.
\n
Common namespace for all ucommon objects.
Definition access.h:47
\n
ConditionalAccess accesslock_t
Convenience type for scheduling access.
Definition condition.h:730
\n
Semaphore semaphore_t
Convenience type for using counting semaphores.
Definition condition.h:735
\n
class __attribute__((visibility("default"))) Conditional class __attribute__((visibility("default"))) ConditionalAccess class __attribute__((visibility("default"))) ConditionalLock class __attribute__((visibility("default"))) Barrier class __attribute__((visibility("default"))) Semaphore typedef ConditionalLock condlock_t
The conditional is a common base for other thread synchronizing classes.
Definition condition.h:655
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00474.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00474.svg", "has_internal_linenos": true, "unified_diff": "@@ -165,15 +165,15 @@\n 00000a40: 2f61 3e0a 3c2f 673e 0a3c 2f67 3e0a 3c21 /a>.....<\n 00000a80: 7469 746c 653e 4e6f 6465 3238 3c2f 7469 title>Node28.....No\n 00006c40: 6465 3331 3c2f 7469 746c 653e 0a3c 6720 de31.....Node33......Node34.......Node34.......Node33......Node33.\n 00003540: 3c67 2069 643d 2261 5f4e 6f64 6530 3030 ....Node33.......<\n 00003770: 7469 746c 653e 4e6f 6465 3333 3c2f 7469 title>Node33..\n 000048c0: 0a3c 6720 6964 3d22 4e6f 6465 3030 3030 ..Node33<\n 000048f0: 2f74 6974 6c65 3e0a 3c67 2069 643d 2261 /title>.<g id=\"a\n 00004900: 5f4e 6f64 6530 3030 3033 3322 3e3c 6120 _Node000033\"><a \n 00004910: 786c 696e 6b3a 6872 6566 3d22 6130 3031 xlink:href=\"a001\n-00004920: 3535 2e68 746d 6c22 2074 6172 6765 743d 55.html\" target=\n+00004920: 3931 2e68 746d 6c22 2074 6172 6765 743d 91.html\" target=\n 00004930: 225f 746f 7022 2078 6c69 6e6b 3a74 6974 \"_top\" xlink:tit\n 00004940: 6c65 3d22 5072 6976 6174 6520 6865 6170 le=\"Private heap\n 00004950: 732c 2070 6f6f 6c73 2c20 616e 6420 6173 s, pools, and as\n 00004960: 736f 6369 6174 696f 6e73 2e22 3e0a 3c70 sociations.\">.<p\n 00004970: 6f6c 7967 6f6e 2066 696c 6c3d 2277 6869 olygon fill=\"whi\n 00004980: 7465 2220 7374 726f 6b65 3d22 2336 3636 te\" stroke=\"#666\n 00004990: 3636 3622 2070 6f69 6e74 733d 2231 3031 666\" points=\"101\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00522.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00522.svg", "has_internal_linenos": true, "unified_diff": "@@ -949,15 +949,15 @@\n 00003b40: 3e0a 3c2f 673e 0a3c 212d 2d20 4e6f 6465 >.</g>.<!-- Node\n 00003b50: 3333 202d 2d3e 0a3c 6720 6964 3d22 4e6f 33 -->.<g id=\"No\n 00003b60: 6465 3030 3030 3333 2220 636c 6173 733d de000033\" class=\n 00003b70: 226e 6f64 6522 3e0a 3c74 6974 6c65 3e4e \"node\">.<title>N\n 00003b80: 6f64 6533 333c 2f74 6974 6c65 3e0a 3c67 ode33......Node33\n 00004420: 0a3c 6720 6964 3d22 615f 4e6f 6465 3030 ...\n
\n \n

This is a base class for objects that may be created in pager pools. \n More...

\n \n-

#include <memory.h>

\n+

#include <memory.h>

\n \n

Inherits MemoryRedirect, and PagerPool.

\n \n \n \n \n@@ -79,15 +79,15 @@\n class ucommon::pager< T >

This is a base class for objects that may be created in pager pools.

\n

This is also used to create objects which can be maintained as managed memory and returned to a pool. The linked list is used when freeing and re-allocating the object. These objects are reference counted so that they are returned to the pool they come from automatically when falling out of scope. This can be used to create automatic garbage collection pools.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org Pager pool base class for managed memory pools. This is a helper base class for the pager template and generally is not used by itself. If different type pools are intended to use a common memory pager then you will need to mixin a memory protocol object that performs redirection such as the MemoryRedirect class.
\n
\n David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org Mempager managed type factory for pager pool objects. This is used to construct a type factory that creates and manages typed objects derived from PagerObject which can be managed through a private heap.
\n
\n David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
\n \n-

Definition at line 853 of file memory.h.

\n+

Definition at line 853 of file memory.h.

\n

Constructor & Destructor Documentation

\n \n

◆ pager()

\n \n
\n
\n
\n@@ -115,15 +115,15 @@\n
Parameters
\n

\n Public Member Functions

T * operator() (void)
 Create a managed object by casting reference.
\n \n
heappager to use. If NULL, uses global heap.
\n \n \n \n-

Definition at line 863 of file memory.h.

\n+

Definition at line 863 of file memory.h.

\n \n
\n
\n

Member Function Documentation

\n \n

◆ operator()()

\n \n@@ -149,15 +149,15 @@\n \n \n
\n \n

Create a managed object by casting reference.

\n
Returns
pointer to typed managed pager pool object.
\n \n-

Definition at line 869 of file memory.h.

\n+

Definition at line 869 of file memory.h.

\n \n
\n \n \n

◆ operator*()

\n \n
\n@@ -181,20 +181,20 @@\n \n \n
\n \n

Create a managed object by pointer reference.

\n
Returns
pointer to typed managed pager pool object.
\n \n-

Definition at line 877 of file memory.h.

\n+

Definition at line 877 of file memory.h.

\n \n
\n \n
The documentation for this class was generated from the following file:\n \n \n
\n Generated by \"doxygen\"/ 1.9.8\n
\n \n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00940.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00940.svg", "has_internal_linenos": true, "unified_diff": "@@ -805,15 +805,15 @@\n 00003240: 2f67 3e0a 3c21 2d2d 204e 6f64 6533 3320 /g>...Node\n 00003280: 3333 3c2f 7469 746c 653e 0a3c 6720 6964 33.\n 000032a0: 3c61 2078 6c69 6e6b 3a68 7265 663d 2261 \n 00003300: 0a3c 706f 6c79 676f 6e20 6669 6c6c 3d22 ....Node\n 0000d1a0: 3332 3c2f 7469 746c 653e 0a3c 6720 6964 32.\n 0000d1c0: 3c61 2078 6c69 6e6b 3a68 7265 663d 2261 \n 0000d220: 0a3c 706f 6c79 676f 6e20 6669 6c6c 3d22 ....No\n 00004080: 6465 3334 3c2f 7469 746c 653e 0a3c 6720 de34......Node33.\n 00009830: 3c67 2069 643d 2261 5f4e 6f64 6530 3030 ....N\n 00000cc0: 6f64 6532 383c 2f74 6974 6c65 3e0a 3c67 ode28.......<\n 00003810: 7469 746c 653e 4e6f 6465 3333 3c2f 7469 title>Node33..\n
\n \n

Thread classes and sychronization objects. \n More...

\n
#include <ucommon/cpr.h>
\n #include <ucommon/timers.h>
\n-#include <ucommon/memory.h>
\n+#include <ucommon/memory.h>
\n #include <ucommon/condition.h>
\n
\n Include dependency graph for thread.h:
\n
\n
\n
\n
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00960_source.html", "source2": "./usr/share/doc/ucommon-doc/html/a00960_source.html", "unified_diff": "@@ -81,15 +81,15 @@\n
52#endif
\n
53
\n
54#ifndef _UCOMMON_TIMERS_H_
\n
55#include <ucommon/timers.h>
\n
56#endif
\n
57
\n
58#ifndef _UCOMMON_MEMORY_H_
\n-
59#include <ucommon/memory.h>
\n+
59#include <ucommon/memory.h>
\n
60#endif
\n
61
\n
62#ifndef _UCOMMON_CONDITION_H_
\n
63#include <ucommon/condition.h>
\n
64#endif
\n
65
\n
66namespace ucommon {
\n@@ -531,15 +531,15 @@\n
952#define __AUTOLOCK(x) autolock __autolock__(x)
\n
953#define __AUTOPROTECT(x) AutoProtect __autolock__(x)
\n
954#define __SYNC(x) for(bool _sync_flag_ = Mutex::protect(x); _sync_flag_; _sync_flag_ = !Mutex::release(x))
\n
955
\n
956} // namespace ucommon
\n
957
\n
958#endif
\n-
Private heaps, pools, and associations.
\n+
Private heaps, pools, and associations.
\n
Realtime timers and timer queues.
\n
T * init(T *memory)
Template function to initialize memory by invoking default constructor.
Definition platform.h:566
\n
Runtime functions.
\n
Condition classes for thread sychronization and timing.
\n
Locking protocol classes for member function automatic operations.
\n
Common namespace for all ucommon objects.
Definition access.h:47
\n
RWLock rwlock_t
Convenience type for using read/write locks.
Definition thread.h:945
\n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00961.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00961.svg", "has_internal_linenos": true, "unified_diff": "@@ -165,15 +165,15 @@\n 00000a40: 3e0a 3c2f 673e 0a3c 212d 2d20 4e6f 6465 >....N\n 00000a80: 6f64 6532 383c 2f74 6974 6c65 3e0a 3c67 ode28.. \n  mapped.h\n  Support for memory mapped objects.
\n  \n  mapref.h\n  Maps of thread-safe strongly typed heap objects.
\n  \n- memory.h\n- Private heaps, pools, and associations.
\n+ memory.h\n+ Private heaps, pools, and associations.
\n  \n  numbers.h\n  Support classes for manipulation of numbers as strings.
\n  \n  object.h\n  A common object base class with auto-pointer support.
\n  \n"}, {"source1": "./usr/share/doc/ucommon-doc/html/files.html", "source2": "./usr/share/doc/ucommon-doc/html/files.html", "unified_diff": "@@ -85,15 +85,15 @@\n  export.hExport interfaces for library interfaces \n  fsys.hThread-aware file system manipulation class \n  generics.hGeneric templates for C++ \n  keydata.hParsing of config files that have keyword/value pairs \n  linked.hLinked objects, lists, templates, and containers \n  mapped.hSupport for memory mapped objects \n  mapref.hMaps of thread-safe strongly typed heap objects \n- memory.hPrivate heaps, pools, and associations \n+ memory.hPrivate heaps, pools, and associations \n  numbers.hSupport classes for manipulation of numbers as strings \n  object.hA common object base class with auto-pointer support \n  platform.hVarious miscellaneous platform specific headers and defines \n  protocols.hAbstract interfaces and support \n  reuse.hBasic array and reusable object factory heap support \n  secure.hThis library holds basic cryptographic functions and secure socket support for use with GNU uCommon C++ \n  shared.hCommon thread shared data types we will use \n"}, {"source1": "./usr/share/doc/ucommon-doc/html/index.hhc.gz", "source2": "./usr/share/doc/ucommon-doc/html/index.hhc.gz", "unified_diff": null, "details": [{"source1": "index.hhc", "source2": "index.hhc", "unified_diff": "@@ -794,26 +794,26 @@\n
  • \n \n
  • \n \n
  • \n
      \n
    \n-
  • \n+
  • \n
      \n
    • \n
        \n
      • \n
      • \n
      • \n
      \n-
    • \n-
    • \n-
    • \n-
    • \n+
    • \n+
    • \n+
    • \n+
    • \n
    \n
  • \n
      \n
    • \n
    • \n
    • \n
    • \n"}]}, {"source1": "./usr/share/doc/ucommon-doc/html/index.hhp.gz", "source2": "./usr/share/doc/ucommon-doc/html/index.hhp.gz", "unified_diff": null, "details": [{"source1": "index.hhp", "source2": "index.hhp", "unified_diff": "@@ -8,16 +8,16 @@\n Language=0x409 English (United States)\n Title=UCommon\n \n [WINDOWS]\n main=\"UCommon\",\"index.hhc\",\"index.hhk\",\"index.html\",\"index.html\",,,,,0x23520,,0x10387e,,,,,,,,0\n \n [FILES]\n-a00155.html\n-a00155_source.html\n+a00191.html\n+a00191_source.html\n a00392.html\n a00392_source.html\n a00395.html\n a00395_source.html\n a00398.html\n a00398_source.html\n a00401.html\n@@ -170,18 +170,18 @@\n graph_legend.html\n index.html\n namespacemembers.html\n namespacemembers_func.html\n namespacemembers_type.html\n namespacemembers_vars.html\n namespaces.html\n-a00156.eps\n-a00156.svg\n-a00157.eps\n-a00157.svg\n+a00192.eps\n+a00192.svg\n+a00193.eps\n+a00193.svg\n a00393.eps\n a00393.svg\n a00394.eps\n a00394.svg\n a00396.eps\n a00396.svg\n a00397.eps\n"}]}, {"source1": "./usr/share/doc/ucommon-doc/html/a00155.html", "source2": "./usr/share/doc/ucommon-doc/html/a00191.html", "comments": ["Files 98% similar despite different names"], "unified_diff": "@@ -62,23 +62,23 @@\n
      #include <ucommon/platform.h>
      \n #include <ucommon/protocols.h>
      \n #include <ucommon/linked.h>
      \n #include <ucommon/string.h>
      \n
      \n Include dependency graph for memory.h:
      \n
      \n-
      \n+
      \n
      \n
      \n This graph shows which files directly or indirectly include this file:
      \n
      \n-
      \n+
      \n
      \n
      \n-

      Go to the source code of this file.

      \n+

      Go to the source code of this file.

      \n \n \n \n \n \n

      \n Data Structures

      class  ucommon::pager< T >
       This is a base class for objects that may be created in pager pools. More...
       
      \n@@ -108,15 +108,15 @@\n \n \n
      String ucommon::str (StringPager &list, const char *prefix=NULL, const char *middle=NULL, const char *suffix=NULL)
       
      \n

      Detailed Description

      \n

      Private heaps, pools, and associations.

      \n

      Private heaps often can reduce locking contention in threaded applications since they do not require using the global \"malloc\" function. Private heaps also can be used as auto-release heaps, where all memory allocated and handled out for small objects can be automatically released all at once. Pager pools are used to optimize system allocation around page boundaries. Associations allow private memory to be tagged and found by string identifiers.

      \n \n-

      Definition in file memory.h.

      \n+

      Definition in file memory.h.

      \n
  • \n \n
    \n Generated by \"doxygen\"/ 1.9.8\n
    \n \n \n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00155_source.html", "source2": "./usr/share/doc/ucommon-doc/html/a00191_source.html", "comments": ["Files 99% similar despite different names"], "unified_diff": "@@ -47,15 +47,15 @@\n
  • ucommon
  • \n
    \n
    \n
    \n
    memory.h
    \n
    \n
    \n-Go to the documentation of this file.
    1// Copyright (C) 2006-2014 David Sugar, Tycho Softworks.
    \n+Go to the documentation of this file.
    1// Copyright (C) 2006-2014 David Sugar, Tycho Softworks.
    \n
    2// Copyright (C) 2015-2020 Cherokees of Idaho.
    \n
    3//
    \n
    4// This file is part of GNU uCommon C++.
    \n
    5//
    \n
    6// GNU uCommon C++ is free software: you can redistribute it and/or modify
    \n
    7// it under the terms of the GNU Lesser General Public License as published
    \n
    8// by the Free Software Foundation, either version 3 of the License, or
    \n@@ -547,23 +547,23 @@\n
    901} // namespace ucommon
    \n
    902
    \n
    903#endif
    \n
    Abstract interfaces and support.
    \n
    Various miscellaneous platform specific headers and defines.
    \n
    Linked objects, lists, templates, and containers.
    \n
    Common namespace for all ucommon objects.
    Definition access.h:47
    \n-
    DirPager dirlist_t
    A convenience type for using DirPager directly.
    Definition memory.h:895
    \n+
    DirPager dirlist_t
    A convenience type for using DirPager directly.
    Definition memory.h:895
    \n
    T &() max(T &o1, T &o2)
    Convenience function to return max of two objects.
    Definition generics.h:450
    \n
    T &() limit(T &value, T &low, T &high)
    Convenience macro to range restrict values.
    Definition generics.h:473
    \n-
    StringPager stringlist_t
    A convenience type for paged string lists.
    Definition memory.h:885
    \n-
    StringPager::member stringlistitem_t
    A convenience type for paged string list items.
    Definition memory.h:890
    \n-
    This is a base class for objects that may be created in pager pools.
    Definition memory.h:854
    \n-
    pager(mempager *heap=NULL)
    Construct a pager and optionally assign a private pager heap.
    Definition memory.h:863
    \n-
    T * operator()(void)
    Create a managed object by casting reference.
    Definition memory.h:869
    \n-
    T * operator*()
    Create a managed object by pointer reference.
    Definition memory.h:877
    \n+
    StringPager stringlist_t
    A convenience type for paged string lists.
    Definition memory.h:885
    \n+
    StringPager::member stringlistitem_t
    A convenience type for paged string list items.
    Definition memory.h:890
    \n+
    This is a base class for objects that may be created in pager pools.
    Definition memory.h:854
    \n+
    pager(mempager *heap=NULL)
    Construct a pager and optionally assign a private pager heap.
    Definition memory.h:863
    \n+
    T * operator()(void)
    Create a managed object by casting reference.
    Definition memory.h:869
    \n+
    T * operator*()
    Create a managed object by pointer reference.
    Definition memory.h:877
    \n
    A common string class and character string support functions.
    \n
    \n \n
    \n Generated by \"doxygen\"/ 1.9.8\n
    \n \n"}, {"source1": "./usr/share/doc/ucommon-doc/html/a00156.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00192.svg", "comments": ["Files identical despite different names"], "unified_diff": null}, {"source1": "./usr/share/doc/ucommon-doc/html/a00157.svg", "source2": "./usr/share/doc/ucommon-doc/html/a00193.svg", "comments": ["Files identical despite different names"], "unified_diff": null}]}]}]}]}