1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/docs/api-2.1/utils_8h.html Sat Feb 06 19:11:44 2021 +0100 1.3 @@ -0,0 +1,2233 @@ 1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 1.5 +<html xmlns="http://www.w3.org/1999/xhtml"> 1.6 +<head> 1.7 +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 1.8 +<meta http-equiv="X-UA-Compatible" content="IE=9"/> 1.9 +<meta name="generator" content="Doxygen 1.8.13"/> 1.10 +<meta name="viewport" content="width=device-width, initial-scale=1"/> 1.11 +<title>ucx: /home/mike/workspace/c/ucx/src/ucx/utils.h File Reference</title> 1.12 +<link href="tabs.css" rel="stylesheet" type="text/css"/> 1.13 +<script type="text/javascript" src="jquery.js"></script> 1.14 +<script type="text/javascript" src="dynsections.js"></script> 1.15 +<link href="search/search.css" rel="stylesheet" type="text/css"/> 1.16 +<script type="text/javascript" src="search/searchdata.js"></script> 1.17 +<script type="text/javascript" src="search/search.js"></script> 1.18 +<link href="doxygen.css" rel="stylesheet" type="text/css" /> 1.19 +</head> 1.20 +<body> 1.21 +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> 1.22 +<div id="titlearea"> 1.23 +<table cellspacing="0" cellpadding="0"> 1.24 + <tbody> 1.25 + <tr style="height: 56px;"> 1.26 + <td id="projectlogo"><img alt="Logo" src="uaplogo.png"/></td> 1.27 + <td id="projectalign" style="padding-left: 0.5em;"> 1.28 + <div id="projectname">ucx 1.29 + </div> 1.30 + <div id="projectbrief">UAP Common Extensions</div> 1.31 + </td> 1.32 + </tr> 1.33 + </tbody> 1.34 +</table> 1.35 +</div> 1.36 +<!-- end header part --> 1.37 +<!-- Generated by Doxygen 1.8.13 --> 1.38 +<script type="text/javascript"> 1.39 +var searchBox = new SearchBox("searchBox", "search",false,'Search'); 1.40 +</script> 1.41 +<script type="text/javascript" src="menudata.js"></script> 1.42 +<script type="text/javascript" src="menu.js"></script> 1.43 +<script type="text/javascript"> 1.44 +$(function() { 1.45 + initMenu('',true,false,'search.php','Search'); 1.46 + $(document).ready(function() { init_search(); }); 1.47 +}); 1.48 +</script> 1.49 +<div id="main-nav"></div> 1.50 +<!-- window showing the filter options --> 1.51 +<div id="MSearchSelectWindow" 1.52 + onmouseover="return searchBox.OnSearchSelectShow()" 1.53 + onmouseout="return searchBox.OnSearchSelectHide()" 1.54 + onkeydown="return searchBox.OnSearchSelectKey(event)"> 1.55 +</div> 1.56 + 1.57 +<!-- iframe showing the search results (closed by default) --> 1.58 +<div id="MSearchResultsWindow"> 1.59 +<iframe src="javascript:void(0)" frameborder="0" 1.60 + name="MSearchResults" id="MSearchResults"> 1.61 +</iframe> 1.62 +</div> 1.63 + 1.64 +<div id="nav-path" class="navpath"> 1.65 + <ul> 1.66 +<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_69f4ea29401808fe6229564976cde3ce.html">ucx</a></li> </ul> 1.67 +</div> 1.68 +</div><!-- top --> 1.69 +<div class="header"> 1.70 + <div class="summary"> 1.71 +<a href="#define-members">Macros</a> | 1.72 +<a href="#func-members">Functions</a> </div> 1.73 + <div class="headertitle"> 1.74 +<div class="title">utils.h File Reference</div> </div> 1.75 +</div><!--header--> 1.76 +<div class="contents"> 1.77 + 1.78 +<p>Compare, copy and printf functions. 1.79 +<a href="#details">More...</a></p> 1.80 +<div class="textblock"><code>#include "<a class="el" href="ucx_8h_source.html">ucx.h</a>"</code><br /> 1.81 +<code>#include "<a class="el" href="string_8h_source.html">string.h</a>"</code><br /> 1.82 +<code>#include "<a class="el" href="allocator_8h_source.html">allocator.h</a>"</code><br /> 1.83 +<code>#include <inttypes.h></code><br /> 1.84 +<code>#include <stdarg.h></code><br /> 1.85 +</div> 1.86 +<p><a href="utils_8h_source.html">Go to the source code of this file.</a></p> 1.87 +<table class="memberdecls"> 1.88 +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> 1.89 +Macros</h2></td></tr> 1.90 +<tr class="memitem:a23efd74fa5f701d4cf26ccbfd138a439"><td class="memItemLeft" align="right" valign="top"><a id="a23efd74fa5f701d4cf26ccbfd138a439"></a> 1.91 +#define </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a>   4096</td></tr> 1.92 +<tr class="memdesc:a23efd74fa5f701d4cf26ccbfd138a439"><td class="mdescLeft"> </td><td class="mdescRight">Default buffer size for <a class="el" href="utils_8h.html#a41ca1344f781c0d3bf7a414a6e811392" title="Shorthand for an unbounded ucx_stream_bncopy call using a default buffer. ">ucx_stream_copy()</a> and <a class="el" href="utils_8h.html#add13f39a8af440b4f7e6f74339eaada2" title="Shorthand for ucx_stream_bncopy using a default copy buffer. ">ucx_stream_ncopy()</a>. <br /></td></tr> 1.93 +<tr class="separator:a23efd74fa5f701d4cf26ccbfd138a439"><td class="memSeparator" colspan="2"> </td></tr> 1.94 +<tr class="memitem:a41ca1344f781c0d3bf7a414a6e811392"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a41ca1344f781c0d3bf7a414a6e811392">ucx_stream_copy</a>(src, dest, rfnc, wfnc)</td></tr> 1.95 +<tr class="memdesc:a41ca1344f781c0d3bf7a414a6e811392"><td class="mdescLeft"> </td><td class="mdescRight">Shorthand for an unbounded ucx_stream_bncopy call using a default buffer. <a href="#a41ca1344f781c0d3bf7a414a6e811392">More...</a><br /></td></tr> 1.96 +<tr class="separator:a41ca1344f781c0d3bf7a414a6e811392"><td class="memSeparator" colspan="2"> </td></tr> 1.97 +<tr class="memitem:add13f39a8af440b4f7e6f74339eaada2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#add13f39a8af440b4f7e6f74339eaada2">ucx_stream_ncopy</a>(src, dest, rfnc, wfnc, n)</td></tr> 1.98 +<tr class="memdesc:add13f39a8af440b4f7e6f74339eaada2"><td class="mdescLeft"> </td><td class="mdescRight">Shorthand for ucx_stream_bncopy using a default copy buffer. <a href="#add13f39a8af440b4f7e6f74339eaada2">More...</a><br /></td></tr> 1.99 +<tr class="separator:add13f39a8af440b4f7e6f74339eaada2"><td class="memSeparator" colspan="2"> </td></tr> 1.100 +<tr class="memitem:a6003a1750a66234169bd1f8cc84b297b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a6003a1750a66234169bd1f8cc84b297b">ucx_stream_bcopy</a>(src, dest, rfnc, wfnc, buf, bufsize)</td></tr> 1.101 +<tr class="memdesc:a6003a1750a66234169bd1f8cc84b297b"><td class="mdescLeft"> </td><td class="mdescRight">Shorthand for an unbounded ucx_stream_bncopy call using the specified buffer. <a href="#a6003a1750a66234169bd1f8cc84b297b">More...</a><br /></td></tr> 1.102 +<tr class="separator:a6003a1750a66234169bd1f8cc84b297b"><td class="memSeparator" colspan="2"> </td></tr> 1.103 +<tr class="memitem:af9f333b66ecd639c347c7235f4992e2e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#af9f333b66ecd639c347c7235f4992e2e">ucx_sprintf</a>(...)   <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5">ucx_asprintf</a>(<a class="el" href="allocator_8h.html#a98d2f1b341118b7a0e341fda5d8b2ebf">ucx_default_allocator</a>(), __VA_ARGS__)</td></tr> 1.104 +<tr class="memdesc:af9f333b66ecd639c347c7235f4992e2e"><td class="mdescLeft"> </td><td class="mdescRight">Shortcut for <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a> with default allocator. <a href="#af9f333b66ecd639c347c7235f4992e2e">More...</a><br /></td></tr> 1.105 +<tr class="separator:af9f333b66ecd639c347c7235f4992e2e"><td class="memSeparator" colspan="2"> </td></tr> 1.106 +<tr class="memitem:a9d7d65a420f026fcb6982803d5120519"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a9d7d65a420f026fcb6982803d5120519">ucx_bprintf</a>(buffer, ...)</td></tr> 1.107 +<tr class="memdesc:a9d7d65a420f026fcb6982803d5120519"><td class="mdescLeft"> </td><td class="mdescRight">A <code>printf()</code> like function which writes the output to a <a class="el" href="structUcxBuffer.html" title="UCX Buffer. ">UcxBuffer</a>. <a href="#a9d7d65a420f026fcb6982803d5120519">More...</a><br /></td></tr> 1.108 +<tr class="separator:a9d7d65a420f026fcb6982803d5120519"><td class="memSeparator" colspan="2"> </td></tr> 1.109 +</table><table class="memberdecls"> 1.110 +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> 1.111 +Functions</h2></td></tr> 1.112 +<tr class="memitem:adeb6e8d0a53a829207cfa0a979d01fff"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#adeb6e8d0a53a829207cfa0a979d01fff">ucx_strcpy</a> (const void *s, void *data)</td></tr> 1.113 +<tr class="memdesc:adeb6e8d0a53a829207cfa0a979d01fff"><td class="mdescLeft"> </td><td class="mdescRight">Copies a string. <a href="#adeb6e8d0a53a829207cfa0a979d01fff">More...</a><br /></td></tr> 1.114 +<tr class="separator:adeb6e8d0a53a829207cfa0a979d01fff"><td class="memSeparator" colspan="2"> </td></tr> 1.115 +<tr class="memitem:ab2e184e6a744941aab6b8058116baf30"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ab2e184e6a744941aab6b8058116baf30">ucx_memcpy</a> (const void *m, void *n)</td></tr> 1.116 +<tr class="memdesc:ab2e184e6a744941aab6b8058116baf30"><td class="mdescLeft"> </td><td class="mdescRight">Copies a memory area. <a href="#ab2e184e6a744941aab6b8058116baf30">More...</a><br /></td></tr> 1.117 +<tr class="separator:ab2e184e6a744941aab6b8058116baf30"><td class="memSeparator" colspan="2"> </td></tr> 1.118 +<tr class="memitem:a114ee7f7da62656ffd35e2dc23394201"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a> (void *src, void *dest, <a class="el" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a> rfnc, <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> wfnc, char *buf, size_t bufsize, size_t n)</td></tr> 1.119 +<tr class="memdesc:a114ee7f7da62656ffd35e2dc23394201"><td class="mdescLeft"> </td><td class="mdescRight">Reads data from a stream and writes it to another stream. <a href="#a114ee7f7da62656ffd35e2dc23394201">More...</a><br /></td></tr> 1.120 +<tr class="separator:a114ee7f7da62656ffd35e2dc23394201"><td class="memSeparator" colspan="2"> </td></tr> 1.121 +<tr class="memitem:aa6a37b9d172b6a5b2803d152f9e1b258"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa6a37b9d172b6a5b2803d152f9e1b258">ucx_cmp_str</a> (const void *s1, const void *s2, void *data)</td></tr> 1.122 +<tr class="memdesc:aa6a37b9d172b6a5b2803d152f9e1b258"><td class="mdescLeft"> </td><td class="mdescRight">Wraps the strcmp function. <a href="#aa6a37b9d172b6a5b2803d152f9e1b258">More...</a><br /></td></tr> 1.123 +<tr class="separator:aa6a37b9d172b6a5b2803d152f9e1b258"><td class="memSeparator" colspan="2"> </td></tr> 1.124 +<tr class="memitem:ac6b354a878f551a3a5b20a167db3f308"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ac6b354a878f551a3a5b20a167db3f308">ucx_cmp_strn</a> (const void *s1, const void *s2, void *n)</td></tr> 1.125 +<tr class="memdesc:ac6b354a878f551a3a5b20a167db3f308"><td class="mdescLeft"> </td><td class="mdescRight">Wraps the strncmp function. <a href="#ac6b354a878f551a3a5b20a167db3f308">More...</a><br /></td></tr> 1.126 +<tr class="separator:ac6b354a878f551a3a5b20a167db3f308"><td class="memSeparator" colspan="2"> </td></tr> 1.127 +<tr class="memitem:adee0739589166d272f8cb7c23aabf8ba"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#adee0739589166d272f8cb7c23aabf8ba">ucx_cmp_sstr</a> (const void *s1, const void *s2, void *data)</td></tr> 1.128 +<tr class="memdesc:adee0739589166d272f8cb7c23aabf8ba"><td class="mdescLeft"> </td><td class="mdescRight">Wraps the sstrcmp function. <a href="#adee0739589166d272f8cb7c23aabf8ba">More...</a><br /></td></tr> 1.129 +<tr class="separator:adee0739589166d272f8cb7c23aabf8ba"><td class="memSeparator" colspan="2"> </td></tr> 1.130 +<tr class="memitem:a8ce7e11e6b3deafe89a32a091fde7f16"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a8ce7e11e6b3deafe89a32a091fde7f16">ucx_cmp_int</a> (const void *i1, const void *i2, void *data)</td></tr> 1.131 +<tr class="memdesc:a8ce7e11e6b3deafe89a32a091fde7f16"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type int. <a href="#a8ce7e11e6b3deafe89a32a091fde7f16">More...</a><br /></td></tr> 1.132 +<tr class="separator:a8ce7e11e6b3deafe89a32a091fde7f16"><td class="memSeparator" colspan="2"> </td></tr> 1.133 +<tr class="memitem:aeb57a2b9a6aaa0460c7a6bec29accf2c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aeb57a2b9a6aaa0460c7a6bec29accf2c">ucx_cmp_longint</a> (const void *i1, const void *i2, void *data)</td></tr> 1.134 +<tr class="memdesc:aeb57a2b9a6aaa0460c7a6bec29accf2c"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type long int. <a href="#aeb57a2b9a6aaa0460c7a6bec29accf2c">More...</a><br /></td></tr> 1.135 +<tr class="separator:aeb57a2b9a6aaa0460c7a6bec29accf2c"><td class="memSeparator" colspan="2"> </td></tr> 1.136 +<tr class="memitem:a366b57def20f86a41eaedf575eea5375"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a366b57def20f86a41eaedf575eea5375">ucx_cmp_longlong</a> (const void *i1, const void *i2, void *data)</td></tr> 1.137 +<tr class="memdesc:a366b57def20f86a41eaedf575eea5375"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type long long. <a href="#a366b57def20f86a41eaedf575eea5375">More...</a><br /></td></tr> 1.138 +<tr class="separator:a366b57def20f86a41eaedf575eea5375"><td class="memSeparator" colspan="2"> </td></tr> 1.139 +<tr class="memitem:aa29e6e559946375e34113e34e0b0bd0d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa29e6e559946375e34113e34e0b0bd0d">ucx_cmp_int16</a> (const void *i1, const void *i2, void *data)</td></tr> 1.140 +<tr class="memdesc:aa29e6e559946375e34113e34e0b0bd0d"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type int16_t. <a href="#aa29e6e559946375e34113e34e0b0bd0d">More...</a><br /></td></tr> 1.141 +<tr class="separator:aa29e6e559946375e34113e34e0b0bd0d"><td class="memSeparator" colspan="2"> </td></tr> 1.142 +<tr class="memitem:a858b2ac443fb202643b71f6a7e9218dd"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a858b2ac443fb202643b71f6a7e9218dd">ucx_cmp_int32</a> (const void *i1, const void *i2, void *data)</td></tr> 1.143 +<tr class="memdesc:a858b2ac443fb202643b71f6a7e9218dd"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type int32_t. <a href="#a858b2ac443fb202643b71f6a7e9218dd">More...</a><br /></td></tr> 1.144 +<tr class="separator:a858b2ac443fb202643b71f6a7e9218dd"><td class="memSeparator" colspan="2"> </td></tr> 1.145 +<tr class="memitem:a54701aea6a89fed1402dfb0bf56bc7f6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a54701aea6a89fed1402dfb0bf56bc7f6">ucx_cmp_int64</a> (const void *i1, const void *i2, void *data)</td></tr> 1.146 +<tr class="memdesc:a54701aea6a89fed1402dfb0bf56bc7f6"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type int64_t. <a href="#a54701aea6a89fed1402dfb0bf56bc7f6">More...</a><br /></td></tr> 1.147 +<tr class="separator:a54701aea6a89fed1402dfb0bf56bc7f6"><td class="memSeparator" colspan="2"> </td></tr> 1.148 +<tr class="memitem:abd83a5da91c3dd026a6931bd80c12f1e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#abd83a5da91c3dd026a6931bd80c12f1e">ucx_cmp_uint</a> (const void *i1, const void *i2, void *data)</td></tr> 1.149 +<tr class="memdesc:abd83a5da91c3dd026a6931bd80c12f1e"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type unsigned int. <a href="#abd83a5da91c3dd026a6931bd80c12f1e">More...</a><br /></td></tr> 1.150 +<tr class="separator:abd83a5da91c3dd026a6931bd80c12f1e"><td class="memSeparator" colspan="2"> </td></tr> 1.151 +<tr class="memitem:a3f3cbae2594d6f722bae29acb0408a24"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a3f3cbae2594d6f722bae29acb0408a24">ucx_cmp_ulongint</a> (const void *i1, const void *i2, void *data)</td></tr> 1.152 +<tr class="memdesc:a3f3cbae2594d6f722bae29acb0408a24"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type unsigned long int. <a href="#a3f3cbae2594d6f722bae29acb0408a24">More...</a><br /></td></tr> 1.153 +<tr class="separator:a3f3cbae2594d6f722bae29acb0408a24"><td class="memSeparator" colspan="2"> </td></tr> 1.154 +<tr class="memitem:a6acfc359421f21f9a042a654ff7faac5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a6acfc359421f21f9a042a654ff7faac5">ucx_cmp_ulonglong</a> (const void *i1, const void *i2, void *data)</td></tr> 1.155 +<tr class="memdesc:a6acfc359421f21f9a042a654ff7faac5"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type unsigned long long. <a href="#a6acfc359421f21f9a042a654ff7faac5">More...</a><br /></td></tr> 1.156 +<tr class="separator:a6acfc359421f21f9a042a654ff7faac5"><td class="memSeparator" colspan="2"> </td></tr> 1.157 +<tr class="memitem:acde5366437e886a459b7468f7a9e11f0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#acde5366437e886a459b7468f7a9e11f0">ucx_cmp_uint16</a> (const void *i1, const void *i2, void *data)</td></tr> 1.158 +<tr class="memdesc:acde5366437e886a459b7468f7a9e11f0"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type uint16_t. <a href="#acde5366437e886a459b7468f7a9e11f0">More...</a><br /></td></tr> 1.159 +<tr class="separator:acde5366437e886a459b7468f7a9e11f0"><td class="memSeparator" colspan="2"> </td></tr> 1.160 +<tr class="memitem:a5879d1722330355914d8c9146fa549d3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a5879d1722330355914d8c9146fa549d3">ucx_cmp_uint32</a> (const void *i1, const void *i2, void *data)</td></tr> 1.161 +<tr class="memdesc:a5879d1722330355914d8c9146fa549d3"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type uint32_t. <a href="#a5879d1722330355914d8c9146fa549d3">More...</a><br /></td></tr> 1.162 +<tr class="separator:a5879d1722330355914d8c9146fa549d3"><td class="memSeparator" colspan="2"> </td></tr> 1.163 +<tr class="memitem:a1572a78b5b42f7151a5b2a5a7283d62d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a1572a78b5b42f7151a5b2a5a7283d62d">ucx_cmp_uint64</a> (const void *i1, const void *i2, void *data)</td></tr> 1.164 +<tr class="memdesc:a1572a78b5b42f7151a5b2a5a7283d62d"><td class="mdescLeft"> </td><td class="mdescRight">Compares two integers of type uint64_t. <a href="#a1572a78b5b42f7151a5b2a5a7283d62d">More...</a><br /></td></tr> 1.165 +<tr class="separator:a1572a78b5b42f7151a5b2a5a7283d62d"><td class="memSeparator" colspan="2"> </td></tr> 1.166 +<tr class="memitem:a4ab6753739d56c09cdf6079fdcabf7c6"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a4ab6753739d56c09cdf6079fdcabf7c6">ucx_dist_int</a> (const void *i1, const void *i2, void *data)</td></tr> 1.167 +<tr class="memdesc:a4ab6753739d56c09cdf6079fdcabf7c6"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type int. <a href="#a4ab6753739d56c09cdf6079fdcabf7c6">More...</a><br /></td></tr> 1.168 +<tr class="separator:a4ab6753739d56c09cdf6079fdcabf7c6"><td class="memSeparator" colspan="2"> </td></tr> 1.169 +<tr class="memitem:a43e73d288b1553a0078bf4c98dd341f5"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a43e73d288b1553a0078bf4c98dd341f5">ucx_dist_longint</a> (const void *i1, const void *i2, void *data)</td></tr> 1.170 +<tr class="memdesc:a43e73d288b1553a0078bf4c98dd341f5"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type long int. <a href="#a43e73d288b1553a0078bf4c98dd341f5">More...</a><br /></td></tr> 1.171 +<tr class="separator:a43e73d288b1553a0078bf4c98dd341f5"><td class="memSeparator" colspan="2"> </td></tr> 1.172 +<tr class="memitem:a306778414a2427951ea263be92368627"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a306778414a2427951ea263be92368627">ucx_dist_longlong</a> (const void *i1, const void *i2, void *data)</td></tr> 1.173 +<tr class="memdesc:a306778414a2427951ea263be92368627"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type long long. <a href="#a306778414a2427951ea263be92368627">More...</a><br /></td></tr> 1.174 +<tr class="separator:a306778414a2427951ea263be92368627"><td class="memSeparator" colspan="2"> </td></tr> 1.175 +<tr class="memitem:a81fb8434b70ca11bf2c14abfa21d16a9"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a81fb8434b70ca11bf2c14abfa21d16a9">ucx_dist_int16</a> (const void *i1, const void *i2, void *data)</td></tr> 1.176 +<tr class="memdesc:a81fb8434b70ca11bf2c14abfa21d16a9"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type int16_t. <a href="#a81fb8434b70ca11bf2c14abfa21d16a9">More...</a><br /></td></tr> 1.177 +<tr class="separator:a81fb8434b70ca11bf2c14abfa21d16a9"><td class="memSeparator" colspan="2"> </td></tr> 1.178 +<tr class="memitem:ab4a659cc46096f0490c1dafa57726476"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ab4a659cc46096f0490c1dafa57726476">ucx_dist_int32</a> (const void *i1, const void *i2, void *data)</td></tr> 1.179 +<tr class="memdesc:ab4a659cc46096f0490c1dafa57726476"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type int32_t. <a href="#ab4a659cc46096f0490c1dafa57726476">More...</a><br /></td></tr> 1.180 +<tr class="separator:ab4a659cc46096f0490c1dafa57726476"><td class="memSeparator" colspan="2"> </td></tr> 1.181 +<tr class="memitem:a54e7d06585bad3a899befc4e9c13853f"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a54e7d06585bad3a899befc4e9c13853f">ucx_dist_int64</a> (const void *i1, const void *i2, void *data)</td></tr> 1.182 +<tr class="memdesc:a54e7d06585bad3a899befc4e9c13853f"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type int64_t. <a href="#a54e7d06585bad3a899befc4e9c13853f">More...</a><br /></td></tr> 1.183 +<tr class="separator:a54e7d06585bad3a899befc4e9c13853f"><td class="memSeparator" colspan="2"> </td></tr> 1.184 +<tr class="memitem:a37b7d471ca1679992afc11a0deda45f4"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a37b7d471ca1679992afc11a0deda45f4">ucx_dist_uint</a> (const void *i1, const void *i2, void *data)</td></tr> 1.185 +<tr class="memdesc:a37b7d471ca1679992afc11a0deda45f4"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type unsigned int. <a href="#a37b7d471ca1679992afc11a0deda45f4">More...</a><br /></td></tr> 1.186 +<tr class="separator:a37b7d471ca1679992afc11a0deda45f4"><td class="memSeparator" colspan="2"> </td></tr> 1.187 +<tr class="memitem:abb13476228d0c16bfaba08469adbae2d"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#abb13476228d0c16bfaba08469adbae2d">ucx_dist_ulongint</a> (const void *i1, const void *i2, void *data)</td></tr> 1.188 +<tr class="memdesc:abb13476228d0c16bfaba08469adbae2d"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type unsigned long int. <a href="#abb13476228d0c16bfaba08469adbae2d">More...</a><br /></td></tr> 1.189 +<tr class="separator:abb13476228d0c16bfaba08469adbae2d"><td class="memSeparator" colspan="2"> </td></tr> 1.190 +<tr class="memitem:a59a5859272cb4b43cbdd58208c41e32b"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a59a5859272cb4b43cbdd58208c41e32b">ucx_dist_ulonglong</a> (const void *i1, const void *i2, void *data)</td></tr> 1.191 +<tr class="memdesc:a59a5859272cb4b43cbdd58208c41e32b"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type unsigned long long. <a href="#a59a5859272cb4b43cbdd58208c41e32b">More...</a><br /></td></tr> 1.192 +<tr class="separator:a59a5859272cb4b43cbdd58208c41e32b"><td class="memSeparator" colspan="2"> </td></tr> 1.193 +<tr class="memitem:a66e00a0703cbcde050ec922578e2f080"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a66e00a0703cbcde050ec922578e2f080">ucx_dist_uint16</a> (const void *i1, const void *i2, void *data)</td></tr> 1.194 +<tr class="memdesc:a66e00a0703cbcde050ec922578e2f080"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type uint16_t. <a href="#a66e00a0703cbcde050ec922578e2f080">More...</a><br /></td></tr> 1.195 +<tr class="separator:a66e00a0703cbcde050ec922578e2f080"><td class="memSeparator" colspan="2"> </td></tr> 1.196 +<tr class="memitem:add2b5c5507caba59d894b84e056b079b"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#add2b5c5507caba59d894b84e056b079b">ucx_dist_uint32</a> (const void *i1, const void *i2, void *data)</td></tr> 1.197 +<tr class="memdesc:add2b5c5507caba59d894b84e056b079b"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type uint32_t. <a href="#add2b5c5507caba59d894b84e056b079b">More...</a><br /></td></tr> 1.198 +<tr class="separator:add2b5c5507caba59d894b84e056b079b"><td class="memSeparator" colspan="2"> </td></tr> 1.199 +<tr class="memitem:a3ba75e2e0b2479eef2b22fb219b42da7"><td class="memItemLeft" align="right" valign="top">intmax_t </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a3ba75e2e0b2479eef2b22fb219b42da7">ucx_dist_uint64</a> (const void *i1, const void *i2, void *data)</td></tr> 1.200 +<tr class="memdesc:a3ba75e2e0b2479eef2b22fb219b42da7"><td class="mdescLeft"> </td><td class="mdescRight">Distance function for integers of type uint64_t. <a href="#a3ba75e2e0b2479eef2b22fb219b42da7">More...</a><br /></td></tr> 1.201 +<tr class="separator:a3ba75e2e0b2479eef2b22fb219b42da7"><td class="memSeparator" colspan="2"> </td></tr> 1.202 +<tr class="memitem:ad1196b561bcdad76c393885819769a97"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ad1196b561bcdad76c393885819769a97">ucx_cmp_float</a> (const void *f1, const void *f2, void *data)</td></tr> 1.203 +<tr class="memdesc:ad1196b561bcdad76c393885819769a97"><td class="mdescLeft"> </td><td class="mdescRight">Compares two real numbers of type float. <a href="#ad1196b561bcdad76c393885819769a97">More...</a><br /></td></tr> 1.204 +<tr class="separator:ad1196b561bcdad76c393885819769a97"><td class="memSeparator" colspan="2"> </td></tr> 1.205 +<tr class="memitem:ab804b7c27d0bfcd7bf3a3583140825b6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#ab804b7c27d0bfcd7bf3a3583140825b6">ucx_cmp_double</a> (const void *d1, const void *d2, void *data)</td></tr> 1.206 +<tr class="memdesc:ab804b7c27d0bfcd7bf3a3583140825b6"><td class="mdescLeft"> </td><td class="mdescRight">Compares two real numbers of type double. <a href="#ab804b7c27d0bfcd7bf3a3583140825b6">More...</a><br /></td></tr> 1.207 +<tr class="separator:ab804b7c27d0bfcd7bf3a3583140825b6"><td class="memSeparator" colspan="2"> </td></tr> 1.208 +<tr class="memitem:aa174d539de3ea59be4f9640f17ce53d8"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa174d539de3ea59be4f9640f17ce53d8">ucx_cmp_ptr</a> (const void *ptr1, const void *ptr2, void *data)</td></tr> 1.209 +<tr class="memdesc:aa174d539de3ea59be4f9640f17ce53d8"><td class="mdescLeft"> </td><td class="mdescRight">Compares two pointers. <a href="#aa174d539de3ea59be4f9640f17ce53d8">More...</a><br /></td></tr> 1.210 +<tr class="separator:aa174d539de3ea59be4f9640f17ce53d8"><td class="memSeparator" colspan="2"> </td></tr> 1.211 +<tr class="memitem:aff7d2bcded71196831a8c0664333f8e7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aff7d2bcded71196831a8c0664333f8e7">ucx_cmp_mem</a> (const void *ptr1, const void *ptr2, void *n)</td></tr> 1.212 +<tr class="memdesc:aff7d2bcded71196831a8c0664333f8e7"><td class="mdescLeft"> </td><td class="mdescRight">Compares two memory areas. <a href="#aff7d2bcded71196831a8c0664333f8e7">More...</a><br /></td></tr> 1.213 +<tr class="separator:aff7d2bcded71196831a8c0664333f8e7"><td class="memSeparator" colspan="2"> </td></tr> 1.214 +<tr class="memitem:aa0bec80e1c67f769ff5e112a7d4ce72a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a">ucx_fprintf</a> (void *stream, <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> wfc, const char *fmt,...)</td></tr> 1.215 +<tr class="memdesc:aa0bec80e1c67f769ff5e112a7d4ce72a"><td class="mdescLeft"> </td><td class="mdescRight">A <code>printf()</code> like function which writes the output to a stream by using a <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed" title="Function pointer to a write function. ">write_func()</a>. <a href="#aa0bec80e1c67f769ff5e112a7d4ce72a">More...</a><br /></td></tr> 1.216 +<tr class="separator:aa0bec80e1c67f769ff5e112a7d4ce72a"><td class="memSeparator" colspan="2"> </td></tr> 1.217 +<tr class="memitem:a4907967beb92c3ae351dd239abbb6927"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a4907967beb92c3ae351dd239abbb6927">ucx_vfprintf</a> (void *stream, <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> wfc, const char *fmt, va_list ap)</td></tr> 1.218 +<tr class="memdesc:a4907967beb92c3ae351dd239abbb6927"><td class="mdescLeft"> </td><td class="mdescRight"><code>va_list</code> version of <a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a" title="A printf() like function which writes the output to a stream by using a write_func(). ">ucx_fprintf()</a>. <a href="#a4907967beb92c3ae351dd239abbb6927">More...</a><br /></td></tr> 1.219 +<tr class="separator:a4907967beb92c3ae351dd239abbb6927"><td class="memSeparator" colspan="2"> </td></tr> 1.220 +<tr class="memitem:a9f9cf0e89ffdc256ecb35429907f51f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsstr__t.html">sstr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5">ucx_asprintf</a> (<a class="el" href="structUcxAllocator.html">UcxAllocator</a> *allocator, const char *fmt,...)</td></tr> 1.221 +<tr class="memdesc:a9f9cf0e89ffdc256ecb35429907f51f5"><td class="mdescLeft"> </td><td class="mdescRight">A <code>printf()</code> like function which allocates space for a <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> the result is written to. <a href="#a9f9cf0e89ffdc256ecb35429907f51f5">More...</a><br /></td></tr> 1.222 +<tr class="separator:a9f9cf0e89ffdc256ecb35429907f51f5"><td class="memSeparator" colspan="2"> </td></tr> 1.223 +<tr class="memitem:a3ea1dfb856c741f3e8ec6bfdc9ad427e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsstr__t.html">sstr_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html#a3ea1dfb856c741f3e8ec6bfdc9ad427e">ucx_vasprintf</a> (<a class="el" href="structUcxAllocator.html">UcxAllocator</a> *allocator, const char *fmt, va_list ap)</td></tr> 1.224 +<tr class="memdesc:a3ea1dfb856c741f3e8ec6bfdc9ad427e"><td class="mdescLeft"> </td><td class="mdescRight"><code>va_list</code> version of <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a>. <a href="#a3ea1dfb856c741f3e8ec6bfdc9ad427e">More...</a><br /></td></tr> 1.225 +<tr class="separator:a3ea1dfb856c741f3e8ec6bfdc9ad427e"><td class="memSeparator" colspan="2"> </td></tr> 1.226 +</table> 1.227 +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> 1.228 +<div class="textblock"><p>Compare, copy and printf functions. </p> 1.229 +<dl class="section author"><dt>Author</dt><dd>Mike Becker </dd> 1.230 +<dd> 1.231 +Olaf Wintermann </dd></dl> 1.232 +</div><h2 class="groupheader">Macro Definition Documentation</h2> 1.233 +<a id="a9d7d65a420f026fcb6982803d5120519"></a> 1.234 +<h2 class="memtitle"><span class="permalink"><a href="#a9d7d65a420f026fcb6982803d5120519">◆ </a></span>ucx_bprintf</h2> 1.235 + 1.236 +<div class="memitem"> 1.237 +<div class="memproto"> 1.238 + <table class="memname"> 1.239 + <tr> 1.240 + <td class="memname">#define ucx_bprintf</td> 1.241 + <td>(</td> 1.242 + <td class="paramtype"> </td> 1.243 + <td class="paramname">buffer, </td> 1.244 + </tr> 1.245 + <tr> 1.246 + <td class="paramkey"></td> 1.247 + <td></td> 1.248 + <td class="paramtype"> </td> 1.249 + <td class="paramname"><em>...</em> </td> 1.250 + </tr> 1.251 + <tr> 1.252 + <td></td> 1.253 + <td>)</td> 1.254 + <td></td><td></td> 1.255 + </tr> 1.256 + </table> 1.257 +</div><div class="memdoc"> 1.258 +<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a">ucx_fprintf</a>((<a class="code" href="structUcxBuffer.html">UcxBuffer</a>*)buffer, \</div><div class="line"> (<a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>)<a class="code" href="buffer_8h.html#af8aacc7401814392b58c1b7b81bffc05">ucx_buffer_write</a>, __VA_ARGS__)</div><div class="ttc" id="buffer_8h_html_af8aacc7401814392b58c1b7b81bffc05"><div class="ttname"><a href="buffer_8h.html#af8aacc7401814392b58c1b7b81bffc05">ucx_buffer_write</a></div><div class="ttdeci">size_t ucx_buffer_write(const void *ptr, size_t size, size_t nitems, UcxBuffer *buffer)</div><div class="ttdoc">Writes data to a UcxBuffer. </div><div class="ttdef"><b>Definition:</b> buffer.c:152</div></div> 1.259 +<div class="ttc" id="structUcxBuffer_html"><div class="ttname"><a href="structUcxBuffer.html">UcxBuffer</a></div><div class="ttdoc">UCX Buffer. </div><div class="ttdef"><b>Definition:</b> buffer.h:73</div></div> 1.260 +<div class="ttc" id="utils_8h_html_aa0bec80e1c67f769ff5e112a7d4ce72a"><div class="ttname"><a href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a">ucx_fprintf</a></div><div class="ttdeci">int ucx_fprintf(void *stream, write_func wfc, const char *fmt,...)</div><div class="ttdoc">A printf() like function which writes the output to a stream by using a write_func(). </div><div class="ttdef"><b>Definition:</b> utils.c:343</div></div> 1.261 +<div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div> 1.262 +</div><!-- fragment --> 1.263 +<p>A <code>printf()</code> like function which writes the output to a <a class="el" href="structUcxBuffer.html" title="UCX Buffer. ">UcxBuffer</a>. </p> 1.264 +<dl class="params"><dt>Parameters</dt><dd> 1.265 + <table class="params"> 1.266 + <tr><td class="paramname">buffer</td><td>the buffer the data is written to </td></tr> 1.267 + <tr><td class="paramname">...</td><td>format string and additional arguments </td></tr> 1.268 + </table> 1.269 + </dd> 1.270 +</dl> 1.271 +<dl class="section return"><dt>Returns</dt><dd>the total number of bytes written </dd></dl> 1.272 +<dl class="section see"><dt>See also</dt><dd><a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a" title="A printf() like function which writes the output to a stream by using a write_func(). ">ucx_fprintf()</a> </dd></dl> 1.273 + 1.274 +</div> 1.275 +</div> 1.276 +<a id="af9f333b66ecd639c347c7235f4992e2e"></a> 1.277 +<h2 class="memtitle"><span class="permalink"><a href="#af9f333b66ecd639c347c7235f4992e2e">◆ </a></span>ucx_sprintf</h2> 1.278 + 1.279 +<div class="memitem"> 1.280 +<div class="memproto"> 1.281 + <table class="memname"> 1.282 + <tr> 1.283 + <td class="memname">#define ucx_sprintf</td> 1.284 + <td>(</td> 1.285 + <td class="paramtype"> </td> 1.286 + <td class="paramname"><em>...</em></td><td>)</td> 1.287 + <td>   <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5">ucx_asprintf</a>(<a class="el" href="allocator_8h.html#a98d2f1b341118b7a0e341fda5d8b2ebf">ucx_default_allocator</a>(), __VA_ARGS__)</td> 1.288 + </tr> 1.289 + </table> 1.290 +</div><div class="memdoc"> 1.291 + 1.292 +<p>Shortcut for <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a> with default allocator. </p> 1.293 + 1.294 +</div> 1.295 +</div> 1.296 +<a id="a6003a1750a66234169bd1f8cc84b297b"></a> 1.297 +<h2 class="memtitle"><span class="permalink"><a href="#a6003a1750a66234169bd1f8cc84b297b">◆ </a></span>ucx_stream_bcopy</h2> 1.298 + 1.299 +<div class="memitem"> 1.300 +<div class="memproto"> 1.301 + <table class="memname"> 1.302 + <tr> 1.303 + <td class="memname">#define ucx_stream_bcopy</td> 1.304 + <td>(</td> 1.305 + <td class="paramtype"> </td> 1.306 + <td class="paramname">src, </td> 1.307 + </tr> 1.308 + <tr> 1.309 + <td class="paramkey"></td> 1.310 + <td></td> 1.311 + <td class="paramtype"> </td> 1.312 + <td class="paramname">dest, </td> 1.313 + </tr> 1.314 + <tr> 1.315 + <td class="paramkey"></td> 1.316 + <td></td> 1.317 + <td class="paramtype"> </td> 1.318 + <td class="paramname">rfnc, </td> 1.319 + </tr> 1.320 + <tr> 1.321 + <td class="paramkey"></td> 1.322 + <td></td> 1.323 + <td class="paramtype"> </td> 1.324 + <td class="paramname">wfnc, </td> 1.325 + </tr> 1.326 + <tr> 1.327 + <td class="paramkey"></td> 1.328 + <td></td> 1.329 + <td class="paramtype"> </td> 1.330 + <td class="paramname">buf, </td> 1.331 + </tr> 1.332 + <tr> 1.333 + <td class="paramkey"></td> 1.334 + <td></td> 1.335 + <td class="paramtype"> </td> 1.336 + <td class="paramname">bufsize </td> 1.337 + </tr> 1.338 + <tr> 1.339 + <td></td> 1.340 + <td>)</td> 1.341 + <td></td><td></td> 1.342 + </tr> 1.343 + </table> 1.344 +</div><div class="memdoc"> 1.345 +<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a>(\</div><div class="line"> src, dest, (<a class="code" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a>)rfnc, (<a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>)wfnc, \</div><div class="line"> buf, bufsize, (<span class="keywordtype">size_t</span>)-1)</div><div class="ttc" id="utils_8h_html_a114ee7f7da62656ffd35e2dc23394201"><div class="ttname"><a href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a></div><div class="ttdeci">size_t ucx_stream_bncopy(void *src, void *dest, read_func rfnc, write_func wfnc, char *buf, size_t bufsize, size_t n)</div><div class="ttdoc">Reads data from a stream and writes it to another stream. </div><div class="ttdef"><b>Definition:</b> utils.c:52</div></div> 1.346 +<div class="ttc" id="ucx_8h_html_a6a67e255e460acb58f802067b3ff5fd5"><div class="ttname"><a href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a></div><div class="ttdeci">size_t(* read_func)(void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a read function. </div><div class="ttdef"><b>Definition:</b> ucx.h:132</div></div> 1.347 +<div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div> 1.348 +</div><!-- fragment --> 1.349 +<p>Shorthand for an unbounded ucx_stream_bncopy call using the specified buffer. </p> 1.350 +<dl class="params"><dt>Parameters</dt><dd> 1.351 + <table class="params"> 1.352 + <tr><td class="paramname">src</td><td>the source stream </td></tr> 1.353 + <tr><td class="paramname">dest</td><td>the destination stream </td></tr> 1.354 + <tr><td class="paramname">rfnc</td><td>the read function </td></tr> 1.355 + <tr><td class="paramname">wfnc</td><td>the write function </td></tr> 1.356 + <tr><td class="paramname">buf</td><td>a pointer to the copy buffer or <code>NULL</code> if a buffer shall be implicitly created on the heap </td></tr> 1.357 + <tr><td class="paramname">bufsize</td><td>the size of the copy buffer - if <code>NULL</code> was provided for <code>buf</code>, this is the size of the buffer that shall be implicitly created </td></tr> 1.358 + </table> 1.359 + </dd> 1.360 +</dl> 1.361 +<dl class="section return"><dt>Returns</dt><dd>total number of bytes copied </dd></dl> 1.362 + 1.363 +</div> 1.364 +</div> 1.365 +<a id="a41ca1344f781c0d3bf7a414a6e811392"></a> 1.366 +<h2 class="memtitle"><span class="permalink"><a href="#a41ca1344f781c0d3bf7a414a6e811392">◆ </a></span>ucx_stream_copy</h2> 1.367 + 1.368 +<div class="memitem"> 1.369 +<div class="memproto"> 1.370 + <table class="memname"> 1.371 + <tr> 1.372 + <td class="memname">#define ucx_stream_copy</td> 1.373 + <td>(</td> 1.374 + <td class="paramtype"> </td> 1.375 + <td class="paramname">src, </td> 1.376 + </tr> 1.377 + <tr> 1.378 + <td class="paramkey"></td> 1.379 + <td></td> 1.380 + <td class="paramtype"> </td> 1.381 + <td class="paramname">dest, </td> 1.382 + </tr> 1.383 + <tr> 1.384 + <td class="paramkey"></td> 1.385 + <td></td> 1.386 + <td class="paramtype"> </td> 1.387 + <td class="paramname">rfnc, </td> 1.388 + </tr> 1.389 + <tr> 1.390 + <td class="paramkey"></td> 1.391 + <td></td> 1.392 + <td class="paramtype"> </td> 1.393 + <td class="paramname">wfnc </td> 1.394 + </tr> 1.395 + <tr> 1.396 + <td></td> 1.397 + <td>)</td> 1.398 + <td></td><td></td> 1.399 + </tr> 1.400 + </table> 1.401 +</div><div class="memdoc"> 1.402 +<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a>(\</div><div class="line"> src, dest, (<a class="code" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a>)rfnc, (<a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>)wfnc, \</div><div class="line"> NULL, <a class="code" href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a>, (<span class="keywordtype">size_t</span>)-1)</div><div class="ttc" id="utils_8h_html_a114ee7f7da62656ffd35e2dc23394201"><div class="ttname"><a href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a></div><div class="ttdeci">size_t ucx_stream_bncopy(void *src, void *dest, read_func rfnc, write_func wfnc, char *buf, size_t bufsize, size_t n)</div><div class="ttdoc">Reads data from a stream and writes it to another stream. </div><div class="ttdef"><b>Definition:</b> utils.c:52</div></div> 1.403 +<div class="ttc" id="utils_8h_html_a23efd74fa5f701d4cf26ccbfd138a439"><div class="ttname"><a href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a></div><div class="ttdeci">#define UCX_STREAM_COPY_BUFSIZE</div><div class="ttdoc">Default buffer size for ucx_stream_copy() and ucx_stream_ncopy(). </div><div class="ttdef"><b>Definition:</b> utils.h:55</div></div> 1.404 +<div class="ttc" id="ucx_8h_html_a6a67e255e460acb58f802067b3ff5fd5"><div class="ttname"><a href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a></div><div class="ttdeci">size_t(* read_func)(void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a read function. </div><div class="ttdef"><b>Definition:</b> ucx.h:132</div></div> 1.405 +<div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div> 1.406 +</div><!-- fragment --> 1.407 +<p>Shorthand for an unbounded ucx_stream_bncopy call using a default buffer. </p> 1.408 +<dl class="params"><dt>Parameters</dt><dd> 1.409 + <table class="params"> 1.410 + <tr><td class="paramname">src</td><td>the source stream </td></tr> 1.411 + <tr><td class="paramname">dest</td><td>the destination stream </td></tr> 1.412 + <tr><td class="paramname">rfnc</td><td>the read function </td></tr> 1.413 + <tr><td class="paramname">wfnc</td><td>the write function </td></tr> 1.414 + </table> 1.415 + </dd> 1.416 +</dl> 1.417 +<dl class="section return"><dt>Returns</dt><dd>total number of bytes copied</dd></dl> 1.418 +<dl class="section see"><dt>See also</dt><dd><a class="el" href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439" title="Default buffer size for ucx_stream_copy() and ucx_stream_ncopy(). ">UCX_STREAM_COPY_BUFSIZE</a> </dd></dl> 1.419 + 1.420 +</div> 1.421 +</div> 1.422 +<a id="add13f39a8af440b4f7e6f74339eaada2"></a> 1.423 +<h2 class="memtitle"><span class="permalink"><a href="#add13f39a8af440b4f7e6f74339eaada2">◆ </a></span>ucx_stream_ncopy</h2> 1.424 + 1.425 +<div class="memitem"> 1.426 +<div class="memproto"> 1.427 + <table class="memname"> 1.428 + <tr> 1.429 + <td class="memname">#define ucx_stream_ncopy</td> 1.430 + <td>(</td> 1.431 + <td class="paramtype"> </td> 1.432 + <td class="paramname">src, </td> 1.433 + </tr> 1.434 + <tr> 1.435 + <td class="paramkey"></td> 1.436 + <td></td> 1.437 + <td class="paramtype"> </td> 1.438 + <td class="paramname">dest, </td> 1.439 + </tr> 1.440 + <tr> 1.441 + <td class="paramkey"></td> 1.442 + <td></td> 1.443 + <td class="paramtype"> </td> 1.444 + <td class="paramname">rfnc, </td> 1.445 + </tr> 1.446 + <tr> 1.447 + <td class="paramkey"></td> 1.448 + <td></td> 1.449 + <td class="paramtype"> </td> 1.450 + <td class="paramname">wfnc, </td> 1.451 + </tr> 1.452 + <tr> 1.453 + <td class="paramkey"></td> 1.454 + <td></td> 1.455 + <td class="paramtype"> </td> 1.456 + <td class="paramname">n </td> 1.457 + </tr> 1.458 + <tr> 1.459 + <td></td> 1.460 + <td>)</td> 1.461 + <td></td><td></td> 1.462 + </tr> 1.463 + </table> 1.464 +</div><div class="memdoc"> 1.465 +<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a>(\</div><div class="line"> src, dest, (<a class="code" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a>)rfnc, (<a class="code" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a>)wfnc, \</div><div class="line"> NULL, <a class="code" href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a>, n)</div><div class="ttc" id="utils_8h_html_a114ee7f7da62656ffd35e2dc23394201"><div class="ttname"><a href="utils_8h.html#a114ee7f7da62656ffd35e2dc23394201">ucx_stream_bncopy</a></div><div class="ttdeci">size_t ucx_stream_bncopy(void *src, void *dest, read_func rfnc, write_func wfnc, char *buf, size_t bufsize, size_t n)</div><div class="ttdoc">Reads data from a stream and writes it to another stream. </div><div class="ttdef"><b>Definition:</b> utils.c:52</div></div> 1.466 +<div class="ttc" id="utils_8h_html_a23efd74fa5f701d4cf26ccbfd138a439"><div class="ttname"><a href="utils_8h.html#a23efd74fa5f701d4cf26ccbfd138a439">UCX_STREAM_COPY_BUFSIZE</a></div><div class="ttdeci">#define UCX_STREAM_COPY_BUFSIZE</div><div class="ttdoc">Default buffer size for ucx_stream_copy() and ucx_stream_ncopy(). </div><div class="ttdef"><b>Definition:</b> utils.h:55</div></div> 1.467 +<div class="ttc" id="ucx_8h_html_a6a67e255e460acb58f802067b3ff5fd5"><div class="ttname"><a href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a></div><div class="ttdeci">size_t(* read_func)(void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a read function. </div><div class="ttdef"><b>Definition:</b> ucx.h:132</div></div> 1.468 +<div class="ttc" id="ucx_8h_html_a989b3f0fa4d307d278378fde435641ed"><div class="ttname"><a href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a></div><div class="ttdeci">size_t(* write_func)(const void *, size_t, size_t, void *)</div><div class="ttdoc">Function pointer to a write function. </div><div class="ttdef"><b>Definition:</b> ucx.h:119</div></div> 1.469 +</div><!-- fragment --> 1.470 +<p>Shorthand for ucx_stream_bncopy using a default copy buffer. </p> 1.471 +<dl class="params"><dt>Parameters</dt><dd> 1.472 + <table class="params"> 1.473 + <tr><td class="paramname">src</td><td>the source stream </td></tr> 1.474 + <tr><td class="paramname">dest</td><td>the destination stream </td></tr> 1.475 + <tr><td class="paramname">rfnc</td><td>the read function </td></tr> 1.476 + <tr><td class="paramname">wfnc</td><td>the write function </td></tr> 1.477 + <tr><td class="paramname">n</td><td>maximum number of bytes that shall be copied </td></tr> 1.478 + </table> 1.479 + </dd> 1.480 +</dl> 1.481 +<dl class="section return"><dt>Returns</dt><dd>total number of bytes copied </dd></dl> 1.482 + 1.483 +</div> 1.484 +</div> 1.485 +<h2 class="groupheader">Function Documentation</h2> 1.486 +<a id="a9f9cf0e89ffdc256ecb35429907f51f5"></a> 1.487 +<h2 class="memtitle"><span class="permalink"><a href="#a9f9cf0e89ffdc256ecb35429907f51f5">◆ </a></span>ucx_asprintf()</h2> 1.488 + 1.489 +<div class="memitem"> 1.490 +<div class="memproto"> 1.491 + <table class="memname"> 1.492 + <tr> 1.493 + <td class="memname"><a class="el" href="structsstr__t.html">sstr_t</a> ucx_asprintf </td> 1.494 + <td>(</td> 1.495 + <td class="paramtype"><a class="el" href="structUcxAllocator.html">UcxAllocator</a> * </td> 1.496 + <td class="paramname"><em>allocator</em>, </td> 1.497 + </tr> 1.498 + <tr> 1.499 + <td class="paramkey"></td> 1.500 + <td></td> 1.501 + <td class="paramtype">const char * </td> 1.502 + <td class="paramname"><em>fmt</em>, </td> 1.503 + </tr> 1.504 + <tr> 1.505 + <td class="paramkey"></td> 1.506 + <td></td> 1.507 + <td class="paramtype"> </td> 1.508 + <td class="paramname"><em>...</em> </td> 1.509 + </tr> 1.510 + <tr> 1.511 + <td></td> 1.512 + <td>)</td> 1.513 + <td></td><td></td> 1.514 + </tr> 1.515 + </table> 1.516 +</div><div class="memdoc"> 1.517 + 1.518 +<p>A <code>printf()</code> like function which allocates space for a <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> the result is written to. </p> 1.519 +<p><b>Attention</b>: The <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> data is allocated with the allocators <a class="el" href="allocator_8h.html#a29f0f6a23a70db3b60635cd6dc384473" title="A function pointer to the allocators malloc() function. ">ucx_allocator_malloc()</a> function. So it is implementation dependent, if the returned <a class="el" href="structsstr__t.html#af8049914efc1e67f7de3ee55ec0611b0" title="A pointer to the string (not necessarily NULL-terminated) ">sstr_t.ptr</a> pointer must be passed to the allocators <a class="el" href="allocator_8h.html#aaf2387ddaddd8ab4b267e6b00e5d6f7e" title="A function pointer to the allocators free() function. ">ucx_allocator_free()</a> function manually.</p> 1.520 +<p><b>Note</b>: The <a class="el" href="structsstr__t.html#af8049914efc1e67f7de3ee55ec0611b0" title="A pointer to the string (not necessarily NULL-terminated) ">sstr_t.ptr</a> of the return value will <em>always</em> be <code>NULL</code>-terminated.</p> 1.521 +<dl class="params"><dt>Parameters</dt><dd> 1.522 + <table class="params"> 1.523 + <tr><td class="paramname">allocator</td><td>the <a class="el" href="structUcxAllocator.html" title="UCX allocator data structure containing memory management functions. ">UcxAllocator</a> used for allocating the result <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> </td></tr> 1.524 + <tr><td class="paramname">fmt</td><td>format string </td></tr> 1.525 + <tr><td class="paramname">...</td><td>additional arguments </td></tr> 1.526 + </table> 1.527 + </dd> 1.528 +</dl> 1.529 +<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> containing the formatted string </dd></dl> 1.530 + 1.531 +</div> 1.532 +</div> 1.533 +<a id="ab804b7c27d0bfcd7bf3a3583140825b6"></a> 1.534 +<h2 class="memtitle"><span class="permalink"><a href="#ab804b7c27d0bfcd7bf3a3583140825b6">◆ </a></span>ucx_cmp_double()</h2> 1.535 + 1.536 +<div class="memitem"> 1.537 +<div class="memproto"> 1.538 + <table class="memname"> 1.539 + <tr> 1.540 + <td class="memname">int ucx_cmp_double </td> 1.541 + <td>(</td> 1.542 + <td class="paramtype">const void * </td> 1.543 + <td class="paramname"><em>d1</em>, </td> 1.544 + </tr> 1.545 + <tr> 1.546 + <td class="paramkey"></td> 1.547 + <td></td> 1.548 + <td class="paramtype">const void * </td> 1.549 + <td class="paramname"><em>d2</em>, </td> 1.550 + </tr> 1.551 + <tr> 1.552 + <td class="paramkey"></td> 1.553 + <td></td> 1.554 + <td class="paramtype">void * </td> 1.555 + <td class="paramname"><em>data</em> </td> 1.556 + </tr> 1.557 + <tr> 1.558 + <td></td> 1.559 + <td>)</td> 1.560 + <td></td><td></td> 1.561 + </tr> 1.562 + </table> 1.563 +</div><div class="memdoc"> 1.564 + 1.565 +<p>Compares two real numbers of type double. </p> 1.566 +<dl class="params"><dt>Parameters</dt><dd> 1.567 + <table class="params"> 1.568 + <tr><td class="paramname">d1</td><td>pointer to double one </td></tr> 1.569 + <tr><td class="paramname">d2</td><td>pointer to double two </td></tr> 1.570 + <tr><td class="paramname">data</td><td>if provided: a pointer to precision (default: 1e-14) </td></tr> 1.571 + </table> 1.572 + </dd> 1.573 +</dl> 1.574 +<dl class="section return"><dt>Returns</dt><dd>-1, if *d1 is less than *d2, 0 if both are equal, 1 if *d1 is greater than *d2 </dd></dl> 1.575 + 1.576 +</div> 1.577 +</div> 1.578 +<a id="ad1196b561bcdad76c393885819769a97"></a> 1.579 +<h2 class="memtitle"><span class="permalink"><a href="#ad1196b561bcdad76c393885819769a97">◆ </a></span>ucx_cmp_float()</h2> 1.580 + 1.581 +<div class="memitem"> 1.582 +<div class="memproto"> 1.583 + <table class="memname"> 1.584 + <tr> 1.585 + <td class="memname">int ucx_cmp_float </td> 1.586 + <td>(</td> 1.587 + <td class="paramtype">const void * </td> 1.588 + <td class="paramname"><em>f1</em>, </td> 1.589 + </tr> 1.590 + <tr> 1.591 + <td class="paramkey"></td> 1.592 + <td></td> 1.593 + <td class="paramtype">const void * </td> 1.594 + <td class="paramname"><em>f2</em>, </td> 1.595 + </tr> 1.596 + <tr> 1.597 + <td class="paramkey"></td> 1.598 + <td></td> 1.599 + <td class="paramtype">void * </td> 1.600 + <td class="paramname"><em>data</em> </td> 1.601 + </tr> 1.602 + <tr> 1.603 + <td></td> 1.604 + <td>)</td> 1.605 + <td></td><td></td> 1.606 + </tr> 1.607 + </table> 1.608 +</div><div class="memdoc"> 1.609 + 1.610 +<p>Compares two real numbers of type float. </p> 1.611 +<dl class="params"><dt>Parameters</dt><dd> 1.612 + <table class="params"> 1.613 + <tr><td class="paramname">f1</td><td>pointer to float one </td></tr> 1.614 + <tr><td class="paramname">f2</td><td>pointer to float two </td></tr> 1.615 + <tr><td class="paramname">data</td><td>if provided: a pointer to precision (default: 1e-6f) </td></tr> 1.616 + </table> 1.617 + </dd> 1.618 +</dl> 1.619 +<dl class="section return"><dt>Returns</dt><dd>-1, if *f1 is less than *f2, 0 if both are equal, 1 if *f1 is greater than *f2 </dd></dl> 1.620 + 1.621 +</div> 1.622 +</div> 1.623 +<a id="a8ce7e11e6b3deafe89a32a091fde7f16"></a> 1.624 +<h2 class="memtitle"><span class="permalink"><a href="#a8ce7e11e6b3deafe89a32a091fde7f16">◆ </a></span>ucx_cmp_int()</h2> 1.625 + 1.626 +<div class="memitem"> 1.627 +<div class="memproto"> 1.628 + <table class="memname"> 1.629 + <tr> 1.630 + <td class="memname">int ucx_cmp_int </td> 1.631 + <td>(</td> 1.632 + <td class="paramtype">const void * </td> 1.633 + <td class="paramname"><em>i1</em>, </td> 1.634 + </tr> 1.635 + <tr> 1.636 + <td class="paramkey"></td> 1.637 + <td></td> 1.638 + <td class="paramtype">const void * </td> 1.639 + <td class="paramname"><em>i2</em>, </td> 1.640 + </tr> 1.641 + <tr> 1.642 + <td class="paramkey"></td> 1.643 + <td></td> 1.644 + <td class="paramtype">void * </td> 1.645 + <td class="paramname"><em>data</em> </td> 1.646 + </tr> 1.647 + <tr> 1.648 + <td></td> 1.649 + <td>)</td> 1.650 + <td></td><td></td> 1.651 + </tr> 1.652 + </table> 1.653 +</div><div class="memdoc"> 1.654 + 1.655 +<p>Compares two integers of type int. </p> 1.656 +<dl class="params"><dt>Parameters</dt><dd> 1.657 + <table class="params"> 1.658 + <tr><td class="paramname">i1</td><td>pointer to integer one </td></tr> 1.659 + <tr><td class="paramname">i2</td><td>pointer to integer two </td></tr> 1.660 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.661 + </table> 1.662 + </dd> 1.663 +</dl> 1.664 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.665 + 1.666 +</div> 1.667 +</div> 1.668 +<a id="aa29e6e559946375e34113e34e0b0bd0d"></a> 1.669 +<h2 class="memtitle"><span class="permalink"><a href="#aa29e6e559946375e34113e34e0b0bd0d">◆ </a></span>ucx_cmp_int16()</h2> 1.670 + 1.671 +<div class="memitem"> 1.672 +<div class="memproto"> 1.673 + <table class="memname"> 1.674 + <tr> 1.675 + <td class="memname">int ucx_cmp_int16 </td> 1.676 + <td>(</td> 1.677 + <td class="paramtype">const void * </td> 1.678 + <td class="paramname"><em>i1</em>, </td> 1.679 + </tr> 1.680 + <tr> 1.681 + <td class="paramkey"></td> 1.682 + <td></td> 1.683 + <td class="paramtype">const void * </td> 1.684 + <td class="paramname"><em>i2</em>, </td> 1.685 + </tr> 1.686 + <tr> 1.687 + <td class="paramkey"></td> 1.688 + <td></td> 1.689 + <td class="paramtype">void * </td> 1.690 + <td class="paramname"><em>data</em> </td> 1.691 + </tr> 1.692 + <tr> 1.693 + <td></td> 1.694 + <td>)</td> 1.695 + <td></td><td></td> 1.696 + </tr> 1.697 + </table> 1.698 +</div><div class="memdoc"> 1.699 + 1.700 +<p>Compares two integers of type int16_t. </p> 1.701 +<dl class="params"><dt>Parameters</dt><dd> 1.702 + <table class="params"> 1.703 + <tr><td class="paramname">i1</td><td>pointer to int16_t one </td></tr> 1.704 + <tr><td class="paramname">i2</td><td>pointer to int16_t two </td></tr> 1.705 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.706 + </table> 1.707 + </dd> 1.708 +</dl> 1.709 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.710 + 1.711 +</div> 1.712 +</div> 1.713 +<a id="a858b2ac443fb202643b71f6a7e9218dd"></a> 1.714 +<h2 class="memtitle"><span class="permalink"><a href="#a858b2ac443fb202643b71f6a7e9218dd">◆ </a></span>ucx_cmp_int32()</h2> 1.715 + 1.716 +<div class="memitem"> 1.717 +<div class="memproto"> 1.718 + <table class="memname"> 1.719 + <tr> 1.720 + <td class="memname">int ucx_cmp_int32 </td> 1.721 + <td>(</td> 1.722 + <td class="paramtype">const void * </td> 1.723 + <td class="paramname"><em>i1</em>, </td> 1.724 + </tr> 1.725 + <tr> 1.726 + <td class="paramkey"></td> 1.727 + <td></td> 1.728 + <td class="paramtype">const void * </td> 1.729 + <td class="paramname"><em>i2</em>, </td> 1.730 + </tr> 1.731 + <tr> 1.732 + <td class="paramkey"></td> 1.733 + <td></td> 1.734 + <td class="paramtype">void * </td> 1.735 + <td class="paramname"><em>data</em> </td> 1.736 + </tr> 1.737 + <tr> 1.738 + <td></td> 1.739 + <td>)</td> 1.740 + <td></td><td></td> 1.741 + </tr> 1.742 + </table> 1.743 +</div><div class="memdoc"> 1.744 + 1.745 +<p>Compares two integers of type int32_t. </p> 1.746 +<dl class="params"><dt>Parameters</dt><dd> 1.747 + <table class="params"> 1.748 + <tr><td class="paramname">i1</td><td>pointer to int32_t one </td></tr> 1.749 + <tr><td class="paramname">i2</td><td>pointer to int32_t two </td></tr> 1.750 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.751 + </table> 1.752 + </dd> 1.753 +</dl> 1.754 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.755 + 1.756 +</div> 1.757 +</div> 1.758 +<a id="a54701aea6a89fed1402dfb0bf56bc7f6"></a> 1.759 +<h2 class="memtitle"><span class="permalink"><a href="#a54701aea6a89fed1402dfb0bf56bc7f6">◆ </a></span>ucx_cmp_int64()</h2> 1.760 + 1.761 +<div class="memitem"> 1.762 +<div class="memproto"> 1.763 + <table class="memname"> 1.764 + <tr> 1.765 + <td class="memname">int ucx_cmp_int64 </td> 1.766 + <td>(</td> 1.767 + <td class="paramtype">const void * </td> 1.768 + <td class="paramname"><em>i1</em>, </td> 1.769 + </tr> 1.770 + <tr> 1.771 + <td class="paramkey"></td> 1.772 + <td></td> 1.773 + <td class="paramtype">const void * </td> 1.774 + <td class="paramname"><em>i2</em>, </td> 1.775 + </tr> 1.776 + <tr> 1.777 + <td class="paramkey"></td> 1.778 + <td></td> 1.779 + <td class="paramtype">void * </td> 1.780 + <td class="paramname"><em>data</em> </td> 1.781 + </tr> 1.782 + <tr> 1.783 + <td></td> 1.784 + <td>)</td> 1.785 + <td></td><td></td> 1.786 + </tr> 1.787 + </table> 1.788 +</div><div class="memdoc"> 1.789 + 1.790 +<p>Compares two integers of type int64_t. </p> 1.791 +<dl class="params"><dt>Parameters</dt><dd> 1.792 + <table class="params"> 1.793 + <tr><td class="paramname">i1</td><td>pointer to int64_t one </td></tr> 1.794 + <tr><td class="paramname">i2</td><td>pointer to int64_t two </td></tr> 1.795 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.796 + </table> 1.797 + </dd> 1.798 +</dl> 1.799 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.800 + 1.801 +</div> 1.802 +</div> 1.803 +<a id="aeb57a2b9a6aaa0460c7a6bec29accf2c"></a> 1.804 +<h2 class="memtitle"><span class="permalink"><a href="#aeb57a2b9a6aaa0460c7a6bec29accf2c">◆ </a></span>ucx_cmp_longint()</h2> 1.805 + 1.806 +<div class="memitem"> 1.807 +<div class="memproto"> 1.808 + <table class="memname"> 1.809 + <tr> 1.810 + <td class="memname">int ucx_cmp_longint </td> 1.811 + <td>(</td> 1.812 + <td class="paramtype">const void * </td> 1.813 + <td class="paramname"><em>i1</em>, </td> 1.814 + </tr> 1.815 + <tr> 1.816 + <td class="paramkey"></td> 1.817 + <td></td> 1.818 + <td class="paramtype">const void * </td> 1.819 + <td class="paramname"><em>i2</em>, </td> 1.820 + </tr> 1.821 + <tr> 1.822 + <td class="paramkey"></td> 1.823 + <td></td> 1.824 + <td class="paramtype">void * </td> 1.825 + <td class="paramname"><em>data</em> </td> 1.826 + </tr> 1.827 + <tr> 1.828 + <td></td> 1.829 + <td>)</td> 1.830 + <td></td><td></td> 1.831 + </tr> 1.832 + </table> 1.833 +</div><div class="memdoc"> 1.834 + 1.835 +<p>Compares two integers of type long int. </p> 1.836 +<dl class="params"><dt>Parameters</dt><dd> 1.837 + <table class="params"> 1.838 + <tr><td class="paramname">i1</td><td>pointer to long integer one </td></tr> 1.839 + <tr><td class="paramname">i2</td><td>pointer to long integer two </td></tr> 1.840 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.841 + </table> 1.842 + </dd> 1.843 +</dl> 1.844 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.845 + 1.846 +</div> 1.847 +</div> 1.848 +<a id="a366b57def20f86a41eaedf575eea5375"></a> 1.849 +<h2 class="memtitle"><span class="permalink"><a href="#a366b57def20f86a41eaedf575eea5375">◆ </a></span>ucx_cmp_longlong()</h2> 1.850 + 1.851 +<div class="memitem"> 1.852 +<div class="memproto"> 1.853 + <table class="memname"> 1.854 + <tr> 1.855 + <td class="memname">int ucx_cmp_longlong </td> 1.856 + <td>(</td> 1.857 + <td class="paramtype">const void * </td> 1.858 + <td class="paramname"><em>i1</em>, </td> 1.859 + </tr> 1.860 + <tr> 1.861 + <td class="paramkey"></td> 1.862 + <td></td> 1.863 + <td class="paramtype">const void * </td> 1.864 + <td class="paramname"><em>i2</em>, </td> 1.865 + </tr> 1.866 + <tr> 1.867 + <td class="paramkey"></td> 1.868 + <td></td> 1.869 + <td class="paramtype">void * </td> 1.870 + <td class="paramname"><em>data</em> </td> 1.871 + </tr> 1.872 + <tr> 1.873 + <td></td> 1.874 + <td>)</td> 1.875 + <td></td><td></td> 1.876 + </tr> 1.877 + </table> 1.878 +</div><div class="memdoc"> 1.879 + 1.880 +<p>Compares two integers of type long long. </p> 1.881 +<dl class="params"><dt>Parameters</dt><dd> 1.882 + <table class="params"> 1.883 + <tr><td class="paramname">i1</td><td>pointer to long long one </td></tr> 1.884 + <tr><td class="paramname">i2</td><td>pointer to long long two </td></tr> 1.885 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.886 + </table> 1.887 + </dd> 1.888 +</dl> 1.889 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.890 + 1.891 +</div> 1.892 +</div> 1.893 +<a id="aff7d2bcded71196831a8c0664333f8e7"></a> 1.894 +<h2 class="memtitle"><span class="permalink"><a href="#aff7d2bcded71196831a8c0664333f8e7">◆ </a></span>ucx_cmp_mem()</h2> 1.895 + 1.896 +<div class="memitem"> 1.897 +<div class="memproto"> 1.898 + <table class="memname"> 1.899 + <tr> 1.900 + <td class="memname">int ucx_cmp_mem </td> 1.901 + <td>(</td> 1.902 + <td class="paramtype">const void * </td> 1.903 + <td class="paramname"><em>ptr1</em>, </td> 1.904 + </tr> 1.905 + <tr> 1.906 + <td class="paramkey"></td> 1.907 + <td></td> 1.908 + <td class="paramtype">const void * </td> 1.909 + <td class="paramname"><em>ptr2</em>, </td> 1.910 + </tr> 1.911 + <tr> 1.912 + <td class="paramkey"></td> 1.913 + <td></td> 1.914 + <td class="paramtype">void * </td> 1.915 + <td class="paramname"><em>n</em> </td> 1.916 + </tr> 1.917 + <tr> 1.918 + <td></td> 1.919 + <td>)</td> 1.920 + <td></td><td></td> 1.921 + </tr> 1.922 + </table> 1.923 +</div><div class="memdoc"> 1.924 + 1.925 +<p>Compares two memory areas. </p> 1.926 +<dl class="params"><dt>Parameters</dt><dd> 1.927 + <table class="params"> 1.928 + <tr><td class="paramname">ptr1</td><td>pointer one </td></tr> 1.929 + <tr><td class="paramname">ptr2</td><td>pointer two </td></tr> 1.930 + <tr><td class="paramname">n</td><td>a pointer to the size_t containing the third parameter for memcmp </td></tr> 1.931 + </table> 1.932 + </dd> 1.933 +</dl> 1.934 +<dl class="section return"><dt>Returns</dt><dd>the result of memcmp(ptr1, ptr2, *n) </dd></dl> 1.935 + 1.936 +</div> 1.937 +</div> 1.938 +<a id="aa174d539de3ea59be4f9640f17ce53d8"></a> 1.939 +<h2 class="memtitle"><span class="permalink"><a href="#aa174d539de3ea59be4f9640f17ce53d8">◆ </a></span>ucx_cmp_ptr()</h2> 1.940 + 1.941 +<div class="memitem"> 1.942 +<div class="memproto"> 1.943 + <table class="memname"> 1.944 + <tr> 1.945 + <td class="memname">int ucx_cmp_ptr </td> 1.946 + <td>(</td> 1.947 + <td class="paramtype">const void * </td> 1.948 + <td class="paramname"><em>ptr1</em>, </td> 1.949 + </tr> 1.950 + <tr> 1.951 + <td class="paramkey"></td> 1.952 + <td></td> 1.953 + <td class="paramtype">const void * </td> 1.954 + <td class="paramname"><em>ptr2</em>, </td> 1.955 + </tr> 1.956 + <tr> 1.957 + <td class="paramkey"></td> 1.958 + <td></td> 1.959 + <td class="paramtype">void * </td> 1.960 + <td class="paramname"><em>data</em> </td> 1.961 + </tr> 1.962 + <tr> 1.963 + <td></td> 1.964 + <td>)</td> 1.965 + <td></td><td></td> 1.966 + </tr> 1.967 + </table> 1.968 +</div><div class="memdoc"> 1.969 + 1.970 +<p>Compares two pointers. </p> 1.971 +<dl class="params"><dt>Parameters</dt><dd> 1.972 + <table class="params"> 1.973 + <tr><td class="paramname">ptr1</td><td>pointer one </td></tr> 1.974 + <tr><td class="paramname">ptr2</td><td>pointer two </td></tr> 1.975 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.976 + </table> 1.977 + </dd> 1.978 +</dl> 1.979 +<dl class="section return"><dt>Returns</dt><dd>-1 if ptr1 is less than ptr2, 0 if both are equal, 1 if ptr1 is greater than ptr2 </dd></dl> 1.980 + 1.981 +</div> 1.982 +</div> 1.983 +<a id="adee0739589166d272f8cb7c23aabf8ba"></a> 1.984 +<h2 class="memtitle"><span class="permalink"><a href="#adee0739589166d272f8cb7c23aabf8ba">◆ </a></span>ucx_cmp_sstr()</h2> 1.985 + 1.986 +<div class="memitem"> 1.987 +<div class="memproto"> 1.988 + <table class="memname"> 1.989 + <tr> 1.990 + <td class="memname">int ucx_cmp_sstr </td> 1.991 + <td>(</td> 1.992 + <td class="paramtype">const void * </td> 1.993 + <td class="paramname"><em>s1</em>, </td> 1.994 + </tr> 1.995 + <tr> 1.996 + <td class="paramkey"></td> 1.997 + <td></td> 1.998 + <td class="paramtype">const void * </td> 1.999 + <td class="paramname"><em>s2</em>, </td> 1.1000 + </tr> 1.1001 + <tr> 1.1002 + <td class="paramkey"></td> 1.1003 + <td></td> 1.1004 + <td class="paramtype">void * </td> 1.1005 + <td class="paramname"><em>data</em> </td> 1.1006 + </tr> 1.1007 + <tr> 1.1008 + <td></td> 1.1009 + <td>)</td> 1.1010 + <td></td><td></td> 1.1011 + </tr> 1.1012 + </table> 1.1013 +</div><div class="memdoc"> 1.1014 + 1.1015 +<p>Wraps the sstrcmp function. </p> 1.1016 +<dl class="params"><dt>Parameters</dt><dd> 1.1017 + <table class="params"> 1.1018 + <tr><td class="paramname">s1</td><td>sstr one </td></tr> 1.1019 + <tr><td class="paramname">s2</td><td>sstr two </td></tr> 1.1020 + <tr><td class="paramname">data</td><td>ignored </td></tr> 1.1021 + </table> 1.1022 + </dd> 1.1023 +</dl> 1.1024 +<dl class="section return"><dt>Returns</dt><dd>the result of <a class="el" href="string_8h.html#a7ae7156c8de57454ca38d306100b8160" title="Compares two UCX strings with standard memcmp(). ">sstrcmp(s1, s2)</a> </dd></dl> 1.1025 + 1.1026 +</div> 1.1027 +</div> 1.1028 +<a id="aa6a37b9d172b6a5b2803d152f9e1b258"></a> 1.1029 +<h2 class="memtitle"><span class="permalink"><a href="#aa6a37b9d172b6a5b2803d152f9e1b258">◆ </a></span>ucx_cmp_str()</h2> 1.1030 + 1.1031 +<div class="memitem"> 1.1032 +<div class="memproto"> 1.1033 + <table class="memname"> 1.1034 + <tr> 1.1035 + <td class="memname">int ucx_cmp_str </td> 1.1036 + <td>(</td> 1.1037 + <td class="paramtype">const void * </td> 1.1038 + <td class="paramname"><em>s1</em>, </td> 1.1039 + </tr> 1.1040 + <tr> 1.1041 + <td class="paramkey"></td> 1.1042 + <td></td> 1.1043 + <td class="paramtype">const void * </td> 1.1044 + <td class="paramname"><em>s2</em>, </td> 1.1045 + </tr> 1.1046 + <tr> 1.1047 + <td class="paramkey"></td> 1.1048 + <td></td> 1.1049 + <td class="paramtype">void * </td> 1.1050 + <td class="paramname"><em>data</em> </td> 1.1051 + </tr> 1.1052 + <tr> 1.1053 + <td></td> 1.1054 + <td>)</td> 1.1055 + <td></td><td></td> 1.1056 + </tr> 1.1057 + </table> 1.1058 +</div><div class="memdoc"> 1.1059 + 1.1060 +<p>Wraps the strcmp function. </p> 1.1061 +<dl class="params"><dt>Parameters</dt><dd> 1.1062 + <table class="params"> 1.1063 + <tr><td class="paramname">s1</td><td>string one </td></tr> 1.1064 + <tr><td class="paramname">s2</td><td>string two </td></tr> 1.1065 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1066 + </table> 1.1067 + </dd> 1.1068 +</dl> 1.1069 +<dl class="section return"><dt>Returns</dt><dd>the result of strcmp(s1, s2) </dd></dl> 1.1070 + 1.1071 +</div> 1.1072 +</div> 1.1073 +<a id="ac6b354a878f551a3a5b20a167db3f308"></a> 1.1074 +<h2 class="memtitle"><span class="permalink"><a href="#ac6b354a878f551a3a5b20a167db3f308">◆ </a></span>ucx_cmp_strn()</h2> 1.1075 + 1.1076 +<div class="memitem"> 1.1077 +<div class="memproto"> 1.1078 + <table class="memname"> 1.1079 + <tr> 1.1080 + <td class="memname">int ucx_cmp_strn </td> 1.1081 + <td>(</td> 1.1082 + <td class="paramtype">const void * </td> 1.1083 + <td class="paramname"><em>s1</em>, </td> 1.1084 + </tr> 1.1085 + <tr> 1.1086 + <td class="paramkey"></td> 1.1087 + <td></td> 1.1088 + <td class="paramtype">const void * </td> 1.1089 + <td class="paramname"><em>s2</em>, </td> 1.1090 + </tr> 1.1091 + <tr> 1.1092 + <td class="paramkey"></td> 1.1093 + <td></td> 1.1094 + <td class="paramtype">void * </td> 1.1095 + <td class="paramname"><em>n</em> </td> 1.1096 + </tr> 1.1097 + <tr> 1.1098 + <td></td> 1.1099 + <td>)</td> 1.1100 + <td></td><td></td> 1.1101 + </tr> 1.1102 + </table> 1.1103 +</div><div class="memdoc"> 1.1104 + 1.1105 +<p>Wraps the strncmp function. </p> 1.1106 +<dl class="params"><dt>Parameters</dt><dd> 1.1107 + <table class="params"> 1.1108 + <tr><td class="paramname">s1</td><td>string one </td></tr> 1.1109 + <tr><td class="paramname">s2</td><td>string two </td></tr> 1.1110 + <tr><td class="paramname">n</td><td>a pointer to the size_t containing the third strncmp parameter </td></tr> 1.1111 + </table> 1.1112 + </dd> 1.1113 +</dl> 1.1114 +<dl class="section return"><dt>Returns</dt><dd>the result of strncmp(s1, s2, *n) </dd></dl> 1.1115 + 1.1116 +</div> 1.1117 +</div> 1.1118 +<a id="abd83a5da91c3dd026a6931bd80c12f1e"></a> 1.1119 +<h2 class="memtitle"><span class="permalink"><a href="#abd83a5da91c3dd026a6931bd80c12f1e">◆ </a></span>ucx_cmp_uint()</h2> 1.1120 + 1.1121 +<div class="memitem"> 1.1122 +<div class="memproto"> 1.1123 + <table class="memname"> 1.1124 + <tr> 1.1125 + <td class="memname">int ucx_cmp_uint </td> 1.1126 + <td>(</td> 1.1127 + <td class="paramtype">const void * </td> 1.1128 + <td class="paramname"><em>i1</em>, </td> 1.1129 + </tr> 1.1130 + <tr> 1.1131 + <td class="paramkey"></td> 1.1132 + <td></td> 1.1133 + <td class="paramtype">const void * </td> 1.1134 + <td class="paramname"><em>i2</em>, </td> 1.1135 + </tr> 1.1136 + <tr> 1.1137 + <td class="paramkey"></td> 1.1138 + <td></td> 1.1139 + <td class="paramtype">void * </td> 1.1140 + <td class="paramname"><em>data</em> </td> 1.1141 + </tr> 1.1142 + <tr> 1.1143 + <td></td> 1.1144 + <td>)</td> 1.1145 + <td></td><td></td> 1.1146 + </tr> 1.1147 + </table> 1.1148 +</div><div class="memdoc"> 1.1149 + 1.1150 +<p>Compares two integers of type unsigned int. </p> 1.1151 +<dl class="params"><dt>Parameters</dt><dd> 1.1152 + <table class="params"> 1.1153 + <tr><td class="paramname">i1</td><td>pointer to unsigned integer one </td></tr> 1.1154 + <tr><td class="paramname">i2</td><td>pointer to unsigned integer two </td></tr> 1.1155 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1156 + </table> 1.1157 + </dd> 1.1158 +</dl> 1.1159 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.1160 + 1.1161 +</div> 1.1162 +</div> 1.1163 +<a id="acde5366437e886a459b7468f7a9e11f0"></a> 1.1164 +<h2 class="memtitle"><span class="permalink"><a href="#acde5366437e886a459b7468f7a9e11f0">◆ </a></span>ucx_cmp_uint16()</h2> 1.1165 + 1.1166 +<div class="memitem"> 1.1167 +<div class="memproto"> 1.1168 + <table class="memname"> 1.1169 + <tr> 1.1170 + <td class="memname">int ucx_cmp_uint16 </td> 1.1171 + <td>(</td> 1.1172 + <td class="paramtype">const void * </td> 1.1173 + <td class="paramname"><em>i1</em>, </td> 1.1174 + </tr> 1.1175 + <tr> 1.1176 + <td class="paramkey"></td> 1.1177 + <td></td> 1.1178 + <td class="paramtype">const void * </td> 1.1179 + <td class="paramname"><em>i2</em>, </td> 1.1180 + </tr> 1.1181 + <tr> 1.1182 + <td class="paramkey"></td> 1.1183 + <td></td> 1.1184 + <td class="paramtype">void * </td> 1.1185 + <td class="paramname"><em>data</em> </td> 1.1186 + </tr> 1.1187 + <tr> 1.1188 + <td></td> 1.1189 + <td>)</td> 1.1190 + <td></td><td></td> 1.1191 + </tr> 1.1192 + </table> 1.1193 +</div><div class="memdoc"> 1.1194 + 1.1195 +<p>Compares two integers of type uint16_t. </p> 1.1196 +<dl class="params"><dt>Parameters</dt><dd> 1.1197 + <table class="params"> 1.1198 + <tr><td class="paramname">i1</td><td>pointer to uint16_t one </td></tr> 1.1199 + <tr><td class="paramname">i2</td><td>pointer to uint16_t two </td></tr> 1.1200 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1201 + </table> 1.1202 + </dd> 1.1203 +</dl> 1.1204 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.1205 + 1.1206 +</div> 1.1207 +</div> 1.1208 +<a id="a5879d1722330355914d8c9146fa549d3"></a> 1.1209 +<h2 class="memtitle"><span class="permalink"><a href="#a5879d1722330355914d8c9146fa549d3">◆ </a></span>ucx_cmp_uint32()</h2> 1.1210 + 1.1211 +<div class="memitem"> 1.1212 +<div class="memproto"> 1.1213 + <table class="memname"> 1.1214 + <tr> 1.1215 + <td class="memname">int ucx_cmp_uint32 </td> 1.1216 + <td>(</td> 1.1217 + <td class="paramtype">const void * </td> 1.1218 + <td class="paramname"><em>i1</em>, </td> 1.1219 + </tr> 1.1220 + <tr> 1.1221 + <td class="paramkey"></td> 1.1222 + <td></td> 1.1223 + <td class="paramtype">const void * </td> 1.1224 + <td class="paramname"><em>i2</em>, </td> 1.1225 + </tr> 1.1226 + <tr> 1.1227 + <td class="paramkey"></td> 1.1228 + <td></td> 1.1229 + <td class="paramtype">void * </td> 1.1230 + <td class="paramname"><em>data</em> </td> 1.1231 + </tr> 1.1232 + <tr> 1.1233 + <td></td> 1.1234 + <td>)</td> 1.1235 + <td></td><td></td> 1.1236 + </tr> 1.1237 + </table> 1.1238 +</div><div class="memdoc"> 1.1239 + 1.1240 +<p>Compares two integers of type uint32_t. </p> 1.1241 +<dl class="params"><dt>Parameters</dt><dd> 1.1242 + <table class="params"> 1.1243 + <tr><td class="paramname">i1</td><td>pointer to uint32_t one </td></tr> 1.1244 + <tr><td class="paramname">i2</td><td>pointer to uint32_t two </td></tr> 1.1245 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1246 + </table> 1.1247 + </dd> 1.1248 +</dl> 1.1249 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.1250 + 1.1251 +</div> 1.1252 +</div> 1.1253 +<a id="a1572a78b5b42f7151a5b2a5a7283d62d"></a> 1.1254 +<h2 class="memtitle"><span class="permalink"><a href="#a1572a78b5b42f7151a5b2a5a7283d62d">◆ </a></span>ucx_cmp_uint64()</h2> 1.1255 + 1.1256 +<div class="memitem"> 1.1257 +<div class="memproto"> 1.1258 + <table class="memname"> 1.1259 + <tr> 1.1260 + <td class="memname">int ucx_cmp_uint64 </td> 1.1261 + <td>(</td> 1.1262 + <td class="paramtype">const void * </td> 1.1263 + <td class="paramname"><em>i1</em>, </td> 1.1264 + </tr> 1.1265 + <tr> 1.1266 + <td class="paramkey"></td> 1.1267 + <td></td> 1.1268 + <td class="paramtype">const void * </td> 1.1269 + <td class="paramname"><em>i2</em>, </td> 1.1270 + </tr> 1.1271 + <tr> 1.1272 + <td class="paramkey"></td> 1.1273 + <td></td> 1.1274 + <td class="paramtype">void * </td> 1.1275 + <td class="paramname"><em>data</em> </td> 1.1276 + </tr> 1.1277 + <tr> 1.1278 + <td></td> 1.1279 + <td>)</td> 1.1280 + <td></td><td></td> 1.1281 + </tr> 1.1282 + </table> 1.1283 +</div><div class="memdoc"> 1.1284 + 1.1285 +<p>Compares two integers of type uint64_t. </p> 1.1286 +<dl class="params"><dt>Parameters</dt><dd> 1.1287 + <table class="params"> 1.1288 + <tr><td class="paramname">i1</td><td>pointer to uint64_t one </td></tr> 1.1289 + <tr><td class="paramname">i2</td><td>pointer to uint64_t two </td></tr> 1.1290 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1291 + </table> 1.1292 + </dd> 1.1293 +</dl> 1.1294 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.1295 + 1.1296 +</div> 1.1297 +</div> 1.1298 +<a id="a3f3cbae2594d6f722bae29acb0408a24"></a> 1.1299 +<h2 class="memtitle"><span class="permalink"><a href="#a3f3cbae2594d6f722bae29acb0408a24">◆ </a></span>ucx_cmp_ulongint()</h2> 1.1300 + 1.1301 +<div class="memitem"> 1.1302 +<div class="memproto"> 1.1303 + <table class="memname"> 1.1304 + <tr> 1.1305 + <td class="memname">int ucx_cmp_ulongint </td> 1.1306 + <td>(</td> 1.1307 + <td class="paramtype">const void * </td> 1.1308 + <td class="paramname"><em>i1</em>, </td> 1.1309 + </tr> 1.1310 + <tr> 1.1311 + <td class="paramkey"></td> 1.1312 + <td></td> 1.1313 + <td class="paramtype">const void * </td> 1.1314 + <td class="paramname"><em>i2</em>, </td> 1.1315 + </tr> 1.1316 + <tr> 1.1317 + <td class="paramkey"></td> 1.1318 + <td></td> 1.1319 + <td class="paramtype">void * </td> 1.1320 + <td class="paramname"><em>data</em> </td> 1.1321 + </tr> 1.1322 + <tr> 1.1323 + <td></td> 1.1324 + <td>)</td> 1.1325 + <td></td><td></td> 1.1326 + </tr> 1.1327 + </table> 1.1328 +</div><div class="memdoc"> 1.1329 + 1.1330 +<p>Compares two integers of type unsigned long int. </p> 1.1331 +<dl class="params"><dt>Parameters</dt><dd> 1.1332 + <table class="params"> 1.1333 + <tr><td class="paramname">i1</td><td>pointer to unsigned long integer one </td></tr> 1.1334 + <tr><td class="paramname">i2</td><td>pointer to unsigned long integer two </td></tr> 1.1335 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1336 + </table> 1.1337 + </dd> 1.1338 +</dl> 1.1339 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.1340 + 1.1341 +</div> 1.1342 +</div> 1.1343 +<a id="a6acfc359421f21f9a042a654ff7faac5"></a> 1.1344 +<h2 class="memtitle"><span class="permalink"><a href="#a6acfc359421f21f9a042a654ff7faac5">◆ </a></span>ucx_cmp_ulonglong()</h2> 1.1345 + 1.1346 +<div class="memitem"> 1.1347 +<div class="memproto"> 1.1348 + <table class="memname"> 1.1349 + <tr> 1.1350 + <td class="memname">int ucx_cmp_ulonglong </td> 1.1351 + <td>(</td> 1.1352 + <td class="paramtype">const void * </td> 1.1353 + <td class="paramname"><em>i1</em>, </td> 1.1354 + </tr> 1.1355 + <tr> 1.1356 + <td class="paramkey"></td> 1.1357 + <td></td> 1.1358 + <td class="paramtype">const void * </td> 1.1359 + <td class="paramname"><em>i2</em>, </td> 1.1360 + </tr> 1.1361 + <tr> 1.1362 + <td class="paramkey"></td> 1.1363 + <td></td> 1.1364 + <td class="paramtype">void * </td> 1.1365 + <td class="paramname"><em>data</em> </td> 1.1366 + </tr> 1.1367 + <tr> 1.1368 + <td></td> 1.1369 + <td>)</td> 1.1370 + <td></td><td></td> 1.1371 + </tr> 1.1372 + </table> 1.1373 +</div><div class="memdoc"> 1.1374 + 1.1375 +<p>Compares two integers of type unsigned long long. </p> 1.1376 +<dl class="params"><dt>Parameters</dt><dd> 1.1377 + <table class="params"> 1.1378 + <tr><td class="paramname">i1</td><td>pointer to unsigned long long one </td></tr> 1.1379 + <tr><td class="paramname">i2</td><td>pointer to unsigned long long two </td></tr> 1.1380 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1381 + </table> 1.1382 + </dd> 1.1383 +</dl> 1.1384 +<dl class="section return"><dt>Returns</dt><dd>-1, if *i1 is less than *i2, 0 if both are equal, 1 if *i1 is greater than *i2 </dd></dl> 1.1385 + 1.1386 +</div> 1.1387 +</div> 1.1388 +<a id="a4ab6753739d56c09cdf6079fdcabf7c6"></a> 1.1389 +<h2 class="memtitle"><span class="permalink"><a href="#a4ab6753739d56c09cdf6079fdcabf7c6">◆ </a></span>ucx_dist_int()</h2> 1.1390 + 1.1391 +<div class="memitem"> 1.1392 +<div class="memproto"> 1.1393 + <table class="memname"> 1.1394 + <tr> 1.1395 + <td class="memname">intmax_t ucx_dist_int </td> 1.1396 + <td>(</td> 1.1397 + <td class="paramtype">const void * </td> 1.1398 + <td class="paramname"><em>i1</em>, </td> 1.1399 + </tr> 1.1400 + <tr> 1.1401 + <td class="paramkey"></td> 1.1402 + <td></td> 1.1403 + <td class="paramtype">const void * </td> 1.1404 + <td class="paramname"><em>i2</em>, </td> 1.1405 + </tr> 1.1406 + <tr> 1.1407 + <td class="paramkey"></td> 1.1408 + <td></td> 1.1409 + <td class="paramtype">void * </td> 1.1410 + <td class="paramname"><em>data</em> </td> 1.1411 + </tr> 1.1412 + <tr> 1.1413 + <td></td> 1.1414 + <td>)</td> 1.1415 + <td></td><td></td> 1.1416 + </tr> 1.1417 + </table> 1.1418 +</div><div class="memdoc"> 1.1419 + 1.1420 +<p>Distance function for integers of type int. </p> 1.1421 +<dl class="params"><dt>Parameters</dt><dd> 1.1422 + <table class="params"> 1.1423 + <tr><td class="paramname">i1</td><td>pointer to integer one </td></tr> 1.1424 + <tr><td class="paramname">i2</td><td>pointer to integer two </td></tr> 1.1425 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1426 + </table> 1.1427 + </dd> 1.1428 +</dl> 1.1429 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1430 + 1.1431 +</div> 1.1432 +</div> 1.1433 +<a id="a81fb8434b70ca11bf2c14abfa21d16a9"></a> 1.1434 +<h2 class="memtitle"><span class="permalink"><a href="#a81fb8434b70ca11bf2c14abfa21d16a9">◆ </a></span>ucx_dist_int16()</h2> 1.1435 + 1.1436 +<div class="memitem"> 1.1437 +<div class="memproto"> 1.1438 + <table class="memname"> 1.1439 + <tr> 1.1440 + <td class="memname">intmax_t ucx_dist_int16 </td> 1.1441 + <td>(</td> 1.1442 + <td class="paramtype">const void * </td> 1.1443 + <td class="paramname"><em>i1</em>, </td> 1.1444 + </tr> 1.1445 + <tr> 1.1446 + <td class="paramkey"></td> 1.1447 + <td></td> 1.1448 + <td class="paramtype">const void * </td> 1.1449 + <td class="paramname"><em>i2</em>, </td> 1.1450 + </tr> 1.1451 + <tr> 1.1452 + <td class="paramkey"></td> 1.1453 + <td></td> 1.1454 + <td class="paramtype">void * </td> 1.1455 + <td class="paramname"><em>data</em> </td> 1.1456 + </tr> 1.1457 + <tr> 1.1458 + <td></td> 1.1459 + <td>)</td> 1.1460 + <td></td><td></td> 1.1461 + </tr> 1.1462 + </table> 1.1463 +</div><div class="memdoc"> 1.1464 + 1.1465 +<p>Distance function for integers of type int16_t. </p> 1.1466 +<dl class="params"><dt>Parameters</dt><dd> 1.1467 + <table class="params"> 1.1468 + <tr><td class="paramname">i1</td><td>pointer to int16_t one </td></tr> 1.1469 + <tr><td class="paramname">i2</td><td>pointer to int16_t two </td></tr> 1.1470 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1471 + </table> 1.1472 + </dd> 1.1473 +</dl> 1.1474 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1475 + 1.1476 +</div> 1.1477 +</div> 1.1478 +<a id="ab4a659cc46096f0490c1dafa57726476"></a> 1.1479 +<h2 class="memtitle"><span class="permalink"><a href="#ab4a659cc46096f0490c1dafa57726476">◆ </a></span>ucx_dist_int32()</h2> 1.1480 + 1.1481 +<div class="memitem"> 1.1482 +<div class="memproto"> 1.1483 + <table class="memname"> 1.1484 + <tr> 1.1485 + <td class="memname">intmax_t ucx_dist_int32 </td> 1.1486 + <td>(</td> 1.1487 + <td class="paramtype">const void * </td> 1.1488 + <td class="paramname"><em>i1</em>, </td> 1.1489 + </tr> 1.1490 + <tr> 1.1491 + <td class="paramkey"></td> 1.1492 + <td></td> 1.1493 + <td class="paramtype">const void * </td> 1.1494 + <td class="paramname"><em>i2</em>, </td> 1.1495 + </tr> 1.1496 + <tr> 1.1497 + <td class="paramkey"></td> 1.1498 + <td></td> 1.1499 + <td class="paramtype">void * </td> 1.1500 + <td class="paramname"><em>data</em> </td> 1.1501 + </tr> 1.1502 + <tr> 1.1503 + <td></td> 1.1504 + <td>)</td> 1.1505 + <td></td><td></td> 1.1506 + </tr> 1.1507 + </table> 1.1508 +</div><div class="memdoc"> 1.1509 + 1.1510 +<p>Distance function for integers of type int32_t. </p> 1.1511 +<dl class="params"><dt>Parameters</dt><dd> 1.1512 + <table class="params"> 1.1513 + <tr><td class="paramname">i1</td><td>pointer to int32_t one </td></tr> 1.1514 + <tr><td class="paramname">i2</td><td>pointer to int32_t two </td></tr> 1.1515 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1516 + </table> 1.1517 + </dd> 1.1518 +</dl> 1.1519 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1520 + 1.1521 +</div> 1.1522 +</div> 1.1523 +<a id="a54e7d06585bad3a899befc4e9c13853f"></a> 1.1524 +<h2 class="memtitle"><span class="permalink"><a href="#a54e7d06585bad3a899befc4e9c13853f">◆ </a></span>ucx_dist_int64()</h2> 1.1525 + 1.1526 +<div class="memitem"> 1.1527 +<div class="memproto"> 1.1528 + <table class="memname"> 1.1529 + <tr> 1.1530 + <td class="memname">intmax_t ucx_dist_int64 </td> 1.1531 + <td>(</td> 1.1532 + <td class="paramtype">const void * </td> 1.1533 + <td class="paramname"><em>i1</em>, </td> 1.1534 + </tr> 1.1535 + <tr> 1.1536 + <td class="paramkey"></td> 1.1537 + <td></td> 1.1538 + <td class="paramtype">const void * </td> 1.1539 + <td class="paramname"><em>i2</em>, </td> 1.1540 + </tr> 1.1541 + <tr> 1.1542 + <td class="paramkey"></td> 1.1543 + <td></td> 1.1544 + <td class="paramtype">void * </td> 1.1545 + <td class="paramname"><em>data</em> </td> 1.1546 + </tr> 1.1547 + <tr> 1.1548 + <td></td> 1.1549 + <td>)</td> 1.1550 + <td></td><td></td> 1.1551 + </tr> 1.1552 + </table> 1.1553 +</div><div class="memdoc"> 1.1554 + 1.1555 +<p>Distance function for integers of type int64_t. </p> 1.1556 +<dl class="params"><dt>Parameters</dt><dd> 1.1557 + <table class="params"> 1.1558 + <tr><td class="paramname">i1</td><td>pointer to int64_t one </td></tr> 1.1559 + <tr><td class="paramname">i2</td><td>pointer to int64_t two </td></tr> 1.1560 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1561 + </table> 1.1562 + </dd> 1.1563 +</dl> 1.1564 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1565 + 1.1566 +</div> 1.1567 +</div> 1.1568 +<a id="a43e73d288b1553a0078bf4c98dd341f5"></a> 1.1569 +<h2 class="memtitle"><span class="permalink"><a href="#a43e73d288b1553a0078bf4c98dd341f5">◆ </a></span>ucx_dist_longint()</h2> 1.1570 + 1.1571 +<div class="memitem"> 1.1572 +<div class="memproto"> 1.1573 + <table class="memname"> 1.1574 + <tr> 1.1575 + <td class="memname">intmax_t ucx_dist_longint </td> 1.1576 + <td>(</td> 1.1577 + <td class="paramtype">const void * </td> 1.1578 + <td class="paramname"><em>i1</em>, </td> 1.1579 + </tr> 1.1580 + <tr> 1.1581 + <td class="paramkey"></td> 1.1582 + <td></td> 1.1583 + <td class="paramtype">const void * </td> 1.1584 + <td class="paramname"><em>i2</em>, </td> 1.1585 + </tr> 1.1586 + <tr> 1.1587 + <td class="paramkey"></td> 1.1588 + <td></td> 1.1589 + <td class="paramtype">void * </td> 1.1590 + <td class="paramname"><em>data</em> </td> 1.1591 + </tr> 1.1592 + <tr> 1.1593 + <td></td> 1.1594 + <td>)</td> 1.1595 + <td></td><td></td> 1.1596 + </tr> 1.1597 + </table> 1.1598 +</div><div class="memdoc"> 1.1599 + 1.1600 +<p>Distance function for integers of type long int. </p> 1.1601 +<dl class="params"><dt>Parameters</dt><dd> 1.1602 + <table class="params"> 1.1603 + <tr><td class="paramname">i1</td><td>pointer to long integer one </td></tr> 1.1604 + <tr><td class="paramname">i2</td><td>pointer to long integer two </td></tr> 1.1605 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1606 + </table> 1.1607 + </dd> 1.1608 +</dl> 1.1609 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1610 + 1.1611 +</div> 1.1612 +</div> 1.1613 +<a id="a306778414a2427951ea263be92368627"></a> 1.1614 +<h2 class="memtitle"><span class="permalink"><a href="#a306778414a2427951ea263be92368627">◆ </a></span>ucx_dist_longlong()</h2> 1.1615 + 1.1616 +<div class="memitem"> 1.1617 +<div class="memproto"> 1.1618 + <table class="memname"> 1.1619 + <tr> 1.1620 + <td class="memname">intmax_t ucx_dist_longlong </td> 1.1621 + <td>(</td> 1.1622 + <td class="paramtype">const void * </td> 1.1623 + <td class="paramname"><em>i1</em>, </td> 1.1624 + </tr> 1.1625 + <tr> 1.1626 + <td class="paramkey"></td> 1.1627 + <td></td> 1.1628 + <td class="paramtype">const void * </td> 1.1629 + <td class="paramname"><em>i2</em>, </td> 1.1630 + </tr> 1.1631 + <tr> 1.1632 + <td class="paramkey"></td> 1.1633 + <td></td> 1.1634 + <td class="paramtype">void * </td> 1.1635 + <td class="paramname"><em>data</em> </td> 1.1636 + </tr> 1.1637 + <tr> 1.1638 + <td></td> 1.1639 + <td>)</td> 1.1640 + <td></td><td></td> 1.1641 + </tr> 1.1642 + </table> 1.1643 +</div><div class="memdoc"> 1.1644 + 1.1645 +<p>Distance function for integers of type long long. </p> 1.1646 +<dl class="params"><dt>Parameters</dt><dd> 1.1647 + <table class="params"> 1.1648 + <tr><td class="paramname">i1</td><td>pointer to long long one </td></tr> 1.1649 + <tr><td class="paramname">i2</td><td>pointer to long long two </td></tr> 1.1650 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1651 + </table> 1.1652 + </dd> 1.1653 +</dl> 1.1654 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1655 + 1.1656 +</div> 1.1657 +</div> 1.1658 +<a id="a37b7d471ca1679992afc11a0deda45f4"></a> 1.1659 +<h2 class="memtitle"><span class="permalink"><a href="#a37b7d471ca1679992afc11a0deda45f4">◆ </a></span>ucx_dist_uint()</h2> 1.1660 + 1.1661 +<div class="memitem"> 1.1662 +<div class="memproto"> 1.1663 + <table class="memname"> 1.1664 + <tr> 1.1665 + <td class="memname">intmax_t ucx_dist_uint </td> 1.1666 + <td>(</td> 1.1667 + <td class="paramtype">const void * </td> 1.1668 + <td class="paramname"><em>i1</em>, </td> 1.1669 + </tr> 1.1670 + <tr> 1.1671 + <td class="paramkey"></td> 1.1672 + <td></td> 1.1673 + <td class="paramtype">const void * </td> 1.1674 + <td class="paramname"><em>i2</em>, </td> 1.1675 + </tr> 1.1676 + <tr> 1.1677 + <td class="paramkey"></td> 1.1678 + <td></td> 1.1679 + <td class="paramtype">void * </td> 1.1680 + <td class="paramname"><em>data</em> </td> 1.1681 + </tr> 1.1682 + <tr> 1.1683 + <td></td> 1.1684 + <td>)</td> 1.1685 + <td></td><td></td> 1.1686 + </tr> 1.1687 + </table> 1.1688 +</div><div class="memdoc"> 1.1689 + 1.1690 +<p>Distance function for integers of type unsigned int. </p> 1.1691 +<dl class="params"><dt>Parameters</dt><dd> 1.1692 + <table class="params"> 1.1693 + <tr><td class="paramname">i1</td><td>pointer to unsigned integer one </td></tr> 1.1694 + <tr><td class="paramname">i2</td><td>pointer to unsigned integer two </td></tr> 1.1695 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1696 + </table> 1.1697 + </dd> 1.1698 +</dl> 1.1699 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1700 + 1.1701 +</div> 1.1702 +</div> 1.1703 +<a id="a66e00a0703cbcde050ec922578e2f080"></a> 1.1704 +<h2 class="memtitle"><span class="permalink"><a href="#a66e00a0703cbcde050ec922578e2f080">◆ </a></span>ucx_dist_uint16()</h2> 1.1705 + 1.1706 +<div class="memitem"> 1.1707 +<div class="memproto"> 1.1708 + <table class="memname"> 1.1709 + <tr> 1.1710 + <td class="memname">intmax_t ucx_dist_uint16 </td> 1.1711 + <td>(</td> 1.1712 + <td class="paramtype">const void * </td> 1.1713 + <td class="paramname"><em>i1</em>, </td> 1.1714 + </tr> 1.1715 + <tr> 1.1716 + <td class="paramkey"></td> 1.1717 + <td></td> 1.1718 + <td class="paramtype">const void * </td> 1.1719 + <td class="paramname"><em>i2</em>, </td> 1.1720 + </tr> 1.1721 + <tr> 1.1722 + <td class="paramkey"></td> 1.1723 + <td></td> 1.1724 + <td class="paramtype">void * </td> 1.1725 + <td class="paramname"><em>data</em> </td> 1.1726 + </tr> 1.1727 + <tr> 1.1728 + <td></td> 1.1729 + <td>)</td> 1.1730 + <td></td><td></td> 1.1731 + </tr> 1.1732 + </table> 1.1733 +</div><div class="memdoc"> 1.1734 + 1.1735 +<p>Distance function for integers of type uint16_t. </p> 1.1736 +<dl class="params"><dt>Parameters</dt><dd> 1.1737 + <table class="params"> 1.1738 + <tr><td class="paramname">i1</td><td>pointer to uint16_t one </td></tr> 1.1739 + <tr><td class="paramname">i2</td><td>pointer to uint16_t two </td></tr> 1.1740 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1741 + </table> 1.1742 + </dd> 1.1743 +</dl> 1.1744 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1745 + 1.1746 +</div> 1.1747 +</div> 1.1748 +<a id="add2b5c5507caba59d894b84e056b079b"></a> 1.1749 +<h2 class="memtitle"><span class="permalink"><a href="#add2b5c5507caba59d894b84e056b079b">◆ </a></span>ucx_dist_uint32()</h2> 1.1750 + 1.1751 +<div class="memitem"> 1.1752 +<div class="memproto"> 1.1753 + <table class="memname"> 1.1754 + <tr> 1.1755 + <td class="memname">intmax_t ucx_dist_uint32 </td> 1.1756 + <td>(</td> 1.1757 + <td class="paramtype">const void * </td> 1.1758 + <td class="paramname"><em>i1</em>, </td> 1.1759 + </tr> 1.1760 + <tr> 1.1761 + <td class="paramkey"></td> 1.1762 + <td></td> 1.1763 + <td class="paramtype">const void * </td> 1.1764 + <td class="paramname"><em>i2</em>, </td> 1.1765 + </tr> 1.1766 + <tr> 1.1767 + <td class="paramkey"></td> 1.1768 + <td></td> 1.1769 + <td class="paramtype">void * </td> 1.1770 + <td class="paramname"><em>data</em> </td> 1.1771 + </tr> 1.1772 + <tr> 1.1773 + <td></td> 1.1774 + <td>)</td> 1.1775 + <td></td><td></td> 1.1776 + </tr> 1.1777 + </table> 1.1778 +</div><div class="memdoc"> 1.1779 + 1.1780 +<p>Distance function for integers of type uint32_t. </p> 1.1781 +<dl class="params"><dt>Parameters</dt><dd> 1.1782 + <table class="params"> 1.1783 + <tr><td class="paramname">i1</td><td>pointer to uint32_t one </td></tr> 1.1784 + <tr><td class="paramname">i2</td><td>pointer to uint32_t two </td></tr> 1.1785 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1786 + </table> 1.1787 + </dd> 1.1788 +</dl> 1.1789 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1790 + 1.1791 +</div> 1.1792 +</div> 1.1793 +<a id="a3ba75e2e0b2479eef2b22fb219b42da7"></a> 1.1794 +<h2 class="memtitle"><span class="permalink"><a href="#a3ba75e2e0b2479eef2b22fb219b42da7">◆ </a></span>ucx_dist_uint64()</h2> 1.1795 + 1.1796 +<div class="memitem"> 1.1797 +<div class="memproto"> 1.1798 + <table class="memname"> 1.1799 + <tr> 1.1800 + <td class="memname">intmax_t ucx_dist_uint64 </td> 1.1801 + <td>(</td> 1.1802 + <td class="paramtype">const void * </td> 1.1803 + <td class="paramname"><em>i1</em>, </td> 1.1804 + </tr> 1.1805 + <tr> 1.1806 + <td class="paramkey"></td> 1.1807 + <td></td> 1.1808 + <td class="paramtype">const void * </td> 1.1809 + <td class="paramname"><em>i2</em>, </td> 1.1810 + </tr> 1.1811 + <tr> 1.1812 + <td class="paramkey"></td> 1.1813 + <td></td> 1.1814 + <td class="paramtype">void * </td> 1.1815 + <td class="paramname"><em>data</em> </td> 1.1816 + </tr> 1.1817 + <tr> 1.1818 + <td></td> 1.1819 + <td>)</td> 1.1820 + <td></td><td></td> 1.1821 + </tr> 1.1822 + </table> 1.1823 +</div><div class="memdoc"> 1.1824 + 1.1825 +<p>Distance function for integers of type uint64_t. </p> 1.1826 +<dl class="params"><dt>Parameters</dt><dd> 1.1827 + <table class="params"> 1.1828 + <tr><td class="paramname">i1</td><td>pointer to uint64_t one </td></tr> 1.1829 + <tr><td class="paramname">i2</td><td>pointer to uint64_t two </td></tr> 1.1830 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1831 + </table> 1.1832 + </dd> 1.1833 +</dl> 1.1834 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1835 + 1.1836 +</div> 1.1837 +</div> 1.1838 +<a id="abb13476228d0c16bfaba08469adbae2d"></a> 1.1839 +<h2 class="memtitle"><span class="permalink"><a href="#abb13476228d0c16bfaba08469adbae2d">◆ </a></span>ucx_dist_ulongint()</h2> 1.1840 + 1.1841 +<div class="memitem"> 1.1842 +<div class="memproto"> 1.1843 + <table class="memname"> 1.1844 + <tr> 1.1845 + <td class="memname">intmax_t ucx_dist_ulongint </td> 1.1846 + <td>(</td> 1.1847 + <td class="paramtype">const void * </td> 1.1848 + <td class="paramname"><em>i1</em>, </td> 1.1849 + </tr> 1.1850 + <tr> 1.1851 + <td class="paramkey"></td> 1.1852 + <td></td> 1.1853 + <td class="paramtype">const void * </td> 1.1854 + <td class="paramname"><em>i2</em>, </td> 1.1855 + </tr> 1.1856 + <tr> 1.1857 + <td class="paramkey"></td> 1.1858 + <td></td> 1.1859 + <td class="paramtype">void * </td> 1.1860 + <td class="paramname"><em>data</em> </td> 1.1861 + </tr> 1.1862 + <tr> 1.1863 + <td></td> 1.1864 + <td>)</td> 1.1865 + <td></td><td></td> 1.1866 + </tr> 1.1867 + </table> 1.1868 +</div><div class="memdoc"> 1.1869 + 1.1870 +<p>Distance function for integers of type unsigned long int. </p> 1.1871 +<dl class="params"><dt>Parameters</dt><dd> 1.1872 + <table class="params"> 1.1873 + <tr><td class="paramname">i1</td><td>pointer to unsigned long integer one </td></tr> 1.1874 + <tr><td class="paramname">i2</td><td>pointer to unsigned long integer two </td></tr> 1.1875 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1876 + </table> 1.1877 + </dd> 1.1878 +</dl> 1.1879 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1880 + 1.1881 +</div> 1.1882 +</div> 1.1883 +<a id="a59a5859272cb4b43cbdd58208c41e32b"></a> 1.1884 +<h2 class="memtitle"><span class="permalink"><a href="#a59a5859272cb4b43cbdd58208c41e32b">◆ </a></span>ucx_dist_ulonglong()</h2> 1.1885 + 1.1886 +<div class="memitem"> 1.1887 +<div class="memproto"> 1.1888 + <table class="memname"> 1.1889 + <tr> 1.1890 + <td class="memname">intmax_t ucx_dist_ulonglong </td> 1.1891 + <td>(</td> 1.1892 + <td class="paramtype">const void * </td> 1.1893 + <td class="paramname"><em>i1</em>, </td> 1.1894 + </tr> 1.1895 + <tr> 1.1896 + <td class="paramkey"></td> 1.1897 + <td></td> 1.1898 + <td class="paramtype">const void * </td> 1.1899 + <td class="paramname"><em>i2</em>, </td> 1.1900 + </tr> 1.1901 + <tr> 1.1902 + <td class="paramkey"></td> 1.1903 + <td></td> 1.1904 + <td class="paramtype">void * </td> 1.1905 + <td class="paramname"><em>data</em> </td> 1.1906 + </tr> 1.1907 + <tr> 1.1908 + <td></td> 1.1909 + <td>)</td> 1.1910 + <td></td><td></td> 1.1911 + </tr> 1.1912 + </table> 1.1913 +</div><div class="memdoc"> 1.1914 + 1.1915 +<p>Distance function for integers of type unsigned long long. </p> 1.1916 +<dl class="params"><dt>Parameters</dt><dd> 1.1917 + <table class="params"> 1.1918 + <tr><td class="paramname">i1</td><td>pointer to unsigned long long one </td></tr> 1.1919 + <tr><td class="paramname">i2</td><td>pointer to unsigned long long two </td></tr> 1.1920 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.1921 + </table> 1.1922 + </dd> 1.1923 +</dl> 1.1924 +<dl class="section return"><dt>Returns</dt><dd>i1 minus i2 </dd></dl> 1.1925 + 1.1926 +</div> 1.1927 +</div> 1.1928 +<a id="aa0bec80e1c67f769ff5e112a7d4ce72a"></a> 1.1929 +<h2 class="memtitle"><span class="permalink"><a href="#aa0bec80e1c67f769ff5e112a7d4ce72a">◆ </a></span>ucx_fprintf()</h2> 1.1930 + 1.1931 +<div class="memitem"> 1.1932 +<div class="memproto"> 1.1933 + <table class="memname"> 1.1934 + <tr> 1.1935 + <td class="memname">int ucx_fprintf </td> 1.1936 + <td>(</td> 1.1937 + <td class="paramtype">void * </td> 1.1938 + <td class="paramname"><em>stream</em>, </td> 1.1939 + </tr> 1.1940 + <tr> 1.1941 + <td class="paramkey"></td> 1.1942 + <td></td> 1.1943 + <td class="paramtype"><a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> </td> 1.1944 + <td class="paramname"><em>wfc</em>, </td> 1.1945 + </tr> 1.1946 + <tr> 1.1947 + <td class="paramkey"></td> 1.1948 + <td></td> 1.1949 + <td class="paramtype">const char * </td> 1.1950 + <td class="paramname"><em>fmt</em>, </td> 1.1951 + </tr> 1.1952 + <tr> 1.1953 + <td class="paramkey"></td> 1.1954 + <td></td> 1.1955 + <td class="paramtype"> </td> 1.1956 + <td class="paramname"><em>...</em> </td> 1.1957 + </tr> 1.1958 + <tr> 1.1959 + <td></td> 1.1960 + <td>)</td> 1.1961 + <td></td><td></td> 1.1962 + </tr> 1.1963 + </table> 1.1964 +</div><div class="memdoc"> 1.1965 + 1.1966 +<p>A <code>printf()</code> like function which writes the output to a stream by using a <a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed" title="Function pointer to a write function. ">write_func()</a>. </p> 1.1967 +<dl class="params"><dt>Parameters</dt><dd> 1.1968 + <table class="params"> 1.1969 + <tr><td class="paramname">stream</td><td>the stream the data is written to </td></tr> 1.1970 + <tr><td class="paramname">wfc</td><td>the write function </td></tr> 1.1971 + <tr><td class="paramname">fmt</td><td>format string </td></tr> 1.1972 + <tr><td class="paramname">...</td><td>additional arguments </td></tr> 1.1973 + </table> 1.1974 + </dd> 1.1975 +</dl> 1.1976 +<dl class="section return"><dt>Returns</dt><dd>the total number of bytes written </dd></dl> 1.1977 + 1.1978 +</div> 1.1979 +</div> 1.1980 +<a id="ab2e184e6a744941aab6b8058116baf30"></a> 1.1981 +<h2 class="memtitle"><span class="permalink"><a href="#ab2e184e6a744941aab6b8058116baf30">◆ </a></span>ucx_memcpy()</h2> 1.1982 + 1.1983 +<div class="memitem"> 1.1984 +<div class="memproto"> 1.1985 + <table class="memname"> 1.1986 + <tr> 1.1987 + <td class="memname">void* ucx_memcpy </td> 1.1988 + <td>(</td> 1.1989 + <td class="paramtype">const void * </td> 1.1990 + <td class="paramname"><em>m</em>, </td> 1.1991 + </tr> 1.1992 + <tr> 1.1993 + <td class="paramkey"></td> 1.1994 + <td></td> 1.1995 + <td class="paramtype">void * </td> 1.1996 + <td class="paramname"><em>n</em> </td> 1.1997 + </tr> 1.1998 + <tr> 1.1999 + <td></td> 1.2000 + <td>)</td> 1.2001 + <td></td><td></td> 1.2002 + </tr> 1.2003 + </table> 1.2004 +</div><div class="memdoc"> 1.2005 + 1.2006 +<p>Copies a memory area. </p> 1.2007 +<dl class="params"><dt>Parameters</dt><dd> 1.2008 + <table class="params"> 1.2009 + <tr><td class="paramname">m</td><td>a pointer to the memory area </td></tr> 1.2010 + <tr><td class="paramname">n</td><td>a pointer to the size_t containing the size of the memory area </td></tr> 1.2011 + </table> 1.2012 + </dd> 1.2013 +</dl> 1.2014 +<dl class="section return"><dt>Returns</dt><dd>a pointer to a copy of the specified memory area that can be passed to free(void*) </dd></dl> 1.2015 + 1.2016 +</div> 1.2017 +</div> 1.2018 +<a id="adeb6e8d0a53a829207cfa0a979d01fff"></a> 1.2019 +<h2 class="memtitle"><span class="permalink"><a href="#adeb6e8d0a53a829207cfa0a979d01fff">◆ </a></span>ucx_strcpy()</h2> 1.2020 + 1.2021 +<div class="memitem"> 1.2022 +<div class="memproto"> 1.2023 + <table class="memname"> 1.2024 + <tr> 1.2025 + <td class="memname">void* ucx_strcpy </td> 1.2026 + <td>(</td> 1.2027 + <td class="paramtype">const void * </td> 1.2028 + <td class="paramname"><em>s</em>, </td> 1.2029 + </tr> 1.2030 + <tr> 1.2031 + <td class="paramkey"></td> 1.2032 + <td></td> 1.2033 + <td class="paramtype">void * </td> 1.2034 + <td class="paramname"><em>data</em> </td> 1.2035 + </tr> 1.2036 + <tr> 1.2037 + <td></td> 1.2038 + <td>)</td> 1.2039 + <td></td><td></td> 1.2040 + </tr> 1.2041 + </table> 1.2042 +</div><div class="memdoc"> 1.2043 + 1.2044 +<p>Copies a string. </p> 1.2045 +<dl class="params"><dt>Parameters</dt><dd> 1.2046 + <table class="params"> 1.2047 + <tr><td class="paramname">s</td><td>the string to copy </td></tr> 1.2048 + <tr><td class="paramname">data</td><td>omitted </td></tr> 1.2049 + </table> 1.2050 + </dd> 1.2051 +</dl> 1.2052 +<dl class="section return"><dt>Returns</dt><dd>a pointer to a copy of s1 that can be passed to free(void*) </dd></dl> 1.2053 + 1.2054 +</div> 1.2055 +</div> 1.2056 +<a id="a114ee7f7da62656ffd35e2dc23394201"></a> 1.2057 +<h2 class="memtitle"><span class="permalink"><a href="#a114ee7f7da62656ffd35e2dc23394201">◆ </a></span>ucx_stream_bncopy()</h2> 1.2058 + 1.2059 +<div class="memitem"> 1.2060 +<div class="memproto"> 1.2061 + <table class="memname"> 1.2062 + <tr> 1.2063 + <td class="memname">size_t ucx_stream_bncopy </td> 1.2064 + <td>(</td> 1.2065 + <td class="paramtype">void * </td> 1.2066 + <td class="paramname"><em>src</em>, </td> 1.2067 + </tr> 1.2068 + <tr> 1.2069 + <td class="paramkey"></td> 1.2070 + <td></td> 1.2071 + <td class="paramtype">void * </td> 1.2072 + <td class="paramname"><em>dest</em>, </td> 1.2073 + </tr> 1.2074 + <tr> 1.2075 + <td class="paramkey"></td> 1.2076 + <td></td> 1.2077 + <td class="paramtype"><a class="el" href="ucx_8h.html#a6a67e255e460acb58f802067b3ff5fd5">read_func</a> </td> 1.2078 + <td class="paramname"><em>rfnc</em>, </td> 1.2079 + </tr> 1.2080 + <tr> 1.2081 + <td class="paramkey"></td> 1.2082 + <td></td> 1.2083 + <td class="paramtype"><a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> </td> 1.2084 + <td class="paramname"><em>wfnc</em>, </td> 1.2085 + </tr> 1.2086 + <tr> 1.2087 + <td class="paramkey"></td> 1.2088 + <td></td> 1.2089 + <td class="paramtype">char * </td> 1.2090 + <td class="paramname"><em>buf</em>, </td> 1.2091 + </tr> 1.2092 + <tr> 1.2093 + <td class="paramkey"></td> 1.2094 + <td></td> 1.2095 + <td class="paramtype">size_t </td> 1.2096 + <td class="paramname"><em>bufsize</em>, </td> 1.2097 + </tr> 1.2098 + <tr> 1.2099 + <td class="paramkey"></td> 1.2100 + <td></td> 1.2101 + <td class="paramtype">size_t </td> 1.2102 + <td class="paramname"><em>n</em> </td> 1.2103 + </tr> 1.2104 + <tr> 1.2105 + <td></td> 1.2106 + <td>)</td> 1.2107 + <td></td><td></td> 1.2108 + </tr> 1.2109 + </table> 1.2110 +</div><div class="memdoc"> 1.2111 + 1.2112 +<p>Reads data from a stream and writes it to another stream. </p> 1.2113 +<dl class="params"><dt>Parameters</dt><dd> 1.2114 + <table class="params"> 1.2115 + <tr><td class="paramname">src</td><td>the source stream </td></tr> 1.2116 + <tr><td class="paramname">dest</td><td>the destination stream </td></tr> 1.2117 + <tr><td class="paramname">rfnc</td><td>the read function </td></tr> 1.2118 + <tr><td class="paramname">wfnc</td><td>the write function </td></tr> 1.2119 + <tr><td class="paramname">buf</td><td>a pointer to the copy buffer or <code>NULL</code> if a buffer shall be implicitly created on the heap </td></tr> 1.2120 + <tr><td class="paramname">bufsize</td><td>the size of the copy buffer - if <code>NULL</code> was provided for <code>buf</code>, this is the size of the buffer that shall be implicitly created </td></tr> 1.2121 + <tr><td class="paramname">n</td><td>the maximum number of bytes that shall be copied </td></tr> 1.2122 + </table> 1.2123 + </dd> 1.2124 +</dl> 1.2125 +<dl class="section return"><dt>Returns</dt><dd>the total number of bytes copied </dd></dl> 1.2126 + 1.2127 +</div> 1.2128 +</div> 1.2129 +<a id="a3ea1dfb856c741f3e8ec6bfdc9ad427e"></a> 1.2130 +<h2 class="memtitle"><span class="permalink"><a href="#a3ea1dfb856c741f3e8ec6bfdc9ad427e">◆ </a></span>ucx_vasprintf()</h2> 1.2131 + 1.2132 +<div class="memitem"> 1.2133 +<div class="memproto"> 1.2134 + <table class="memname"> 1.2135 + <tr> 1.2136 + <td class="memname"><a class="el" href="structsstr__t.html">sstr_t</a> ucx_vasprintf </td> 1.2137 + <td>(</td> 1.2138 + <td class="paramtype"><a class="el" href="structUcxAllocator.html">UcxAllocator</a> * </td> 1.2139 + <td class="paramname"><em>allocator</em>, </td> 1.2140 + </tr> 1.2141 + <tr> 1.2142 + <td class="paramkey"></td> 1.2143 + <td></td> 1.2144 + <td class="paramtype">const char * </td> 1.2145 + <td class="paramname"><em>fmt</em>, </td> 1.2146 + </tr> 1.2147 + <tr> 1.2148 + <td class="paramkey"></td> 1.2149 + <td></td> 1.2150 + <td class="paramtype">va_list </td> 1.2151 + <td class="paramname"><em>ap</em> </td> 1.2152 + </tr> 1.2153 + <tr> 1.2154 + <td></td> 1.2155 + <td>)</td> 1.2156 + <td></td><td></td> 1.2157 + </tr> 1.2158 + </table> 1.2159 +</div><div class="memdoc"> 1.2160 + 1.2161 +<p><code>va_list</code> version of <a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a>. </p> 1.2162 +<dl class="params"><dt>Parameters</dt><dd> 1.2163 + <table class="params"> 1.2164 + <tr><td class="paramname">allocator</td><td>the <a class="el" href="structUcxAllocator.html" title="UCX allocator data structure containing memory management functions. ">UcxAllocator</a> used for allocating the result <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> </td></tr> 1.2165 + <tr><td class="paramname">fmt</td><td>format string </td></tr> 1.2166 + <tr><td class="paramname">ap</td><td>argument list </td></tr> 1.2167 + </table> 1.2168 + </dd> 1.2169 +</dl> 1.2170 +<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="structsstr__t.html" title="The UCX string structure. ">sstr_t</a> containing the formatted string </dd></dl> 1.2171 +<dl class="section see"><dt>See also</dt><dd><a class="el" href="utils_8h.html#a9f9cf0e89ffdc256ecb35429907f51f5" title="A printf() like function which allocates space for a sstr_t the result is written to...">ucx_asprintf()</a> </dd></dl> 1.2172 + 1.2173 +</div> 1.2174 +</div> 1.2175 +<a id="a4907967beb92c3ae351dd239abbb6927"></a> 1.2176 +<h2 class="memtitle"><span class="permalink"><a href="#a4907967beb92c3ae351dd239abbb6927">◆ </a></span>ucx_vfprintf()</h2> 1.2177 + 1.2178 +<div class="memitem"> 1.2179 +<div class="memproto"> 1.2180 + <table class="memname"> 1.2181 + <tr> 1.2182 + <td class="memname">int ucx_vfprintf </td> 1.2183 + <td>(</td> 1.2184 + <td class="paramtype">void * </td> 1.2185 + <td class="paramname"><em>stream</em>, </td> 1.2186 + </tr> 1.2187 + <tr> 1.2188 + <td class="paramkey"></td> 1.2189 + <td></td> 1.2190 + <td class="paramtype"><a class="el" href="ucx_8h.html#a989b3f0fa4d307d278378fde435641ed">write_func</a> </td> 1.2191 + <td class="paramname"><em>wfc</em>, </td> 1.2192 + </tr> 1.2193 + <tr> 1.2194 + <td class="paramkey"></td> 1.2195 + <td></td> 1.2196 + <td class="paramtype">const char * </td> 1.2197 + <td class="paramname"><em>fmt</em>, </td> 1.2198 + </tr> 1.2199 + <tr> 1.2200 + <td class="paramkey"></td> 1.2201 + <td></td> 1.2202 + <td class="paramtype">va_list </td> 1.2203 + <td class="paramname"><em>ap</em> </td> 1.2204 + </tr> 1.2205 + <tr> 1.2206 + <td></td> 1.2207 + <td>)</td> 1.2208 + <td></td><td></td> 1.2209 + </tr> 1.2210 + </table> 1.2211 +</div><div class="memdoc"> 1.2212 + 1.2213 +<p><code>va_list</code> version of <a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a" title="A printf() like function which writes the output to a stream by using a write_func(). ">ucx_fprintf()</a>. </p> 1.2214 +<dl class="params"><dt>Parameters</dt><dd> 1.2215 + <table class="params"> 1.2216 + <tr><td class="paramname">stream</td><td>the stream the data is written to </td></tr> 1.2217 + <tr><td class="paramname">wfc</td><td>the write function </td></tr> 1.2218 + <tr><td class="paramname">fmt</td><td>format string </td></tr> 1.2219 + <tr><td class="paramname">ap</td><td>argument list </td></tr> 1.2220 + </table> 1.2221 + </dd> 1.2222 +</dl> 1.2223 +<dl class="section return"><dt>Returns</dt><dd>the total number of bytes written </dd></dl> 1.2224 +<dl class="section see"><dt>See also</dt><dd><a class="el" href="utils_8h.html#aa0bec80e1c67f769ff5e112a7d4ce72a" title="A printf() like function which writes the output to a stream by using a write_func(). ">ucx_fprintf()</a> </dd></dl> 1.2225 + 1.2226 +</div> 1.2227 +</div> 1.2228 +</div><!-- contents --> 1.2229 +<!-- start footer part --> 1.2230 +<hr class="footer"/><address class="footer"><small> 1.2231 +Generated on Thu Dec 19 2019 19:58:24 for ucx by  <a href="http://www.doxygen.org/index.html"> 1.2232 +<img class="footer" src="doxygen.png" alt="doxygen"/> 1.2233 +</a> 1.8.13 1.2234 +</small></address> 1.2235 +</body> 1.2236 +</html>