Файловый менеджер - Редактировать - /opt/alt/alt-nodejs20/root/usr/share/doc/alt-nodejs20-libicu-doc/ucptrie_8h_source.html
Назад
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.14"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>ICU 78.3: common/unicode/ucptrie.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">ICU 78.3  <span id="projectnumber">78.3</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ var searchBox = new SearchBox("searchBox", "search",false,'Search'); /* @license-end */ </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */</script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_f59c6450ff718ff1b085cfd1c36acbd7.html">unicode</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">ucptrie.h</div> </div> </div><!--header--> <div class="contents"> <a href="ucptrie_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// © 2017 and later: Unicode, Inc. and others.</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// License & terms of use: http://www.unicode.org/copyright.html</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// ucptrie.h (modified from utrie2.h)</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// created: 2017dec29 Markus W. Scherer</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> </div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#ifndef __UCPTRIE_H__</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#define __UCPTRIE_H__</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="ucpmap_8h.html">unicode/ucpmap.h</a>"</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "<a class="code" href="utf8_8h.html">unicode/utf8.h</a>"</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="localpointer_8h.html">unicode/localpointer.h</a>"</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#endif // U_SHOW_CPLUSPLUS_API</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <a class="code" href="umachine_8h.html#a82c853d86803ab75c89267be54fbac6a">U_CDECL_BEGIN</a></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifndef U_IN_DOXYGEN</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">typedef</span> <span class="keyword">union </span>UCPTrieData {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *ptr0;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">const</span> uint16_t *ptr16;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">const</span> uint32_t *ptr32;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keyword">const</span> uint8_t *ptr8;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> } UCPTrieData;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="structUCPTrie.html"> 59</a></span> <span class="keyword">struct </span><a class="code" href="structUCPTrie.html">UCPTrie</a> {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="preprocessor">#ifndef U_IN_DOXYGEN</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">const</span> uint16_t *index;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  UCPTrieData data;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  int32_t indexLength;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  int32_t dataLength;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> highStart;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  uint16_t shifted12HighStart;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  int8_t type; <span class="comment">// UCPTrieType</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"></span> int8_t valueWidth; <span class="comment">// UCPTrieValueWidth</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  uint32_t reserved32;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  uint16_t reserved16;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  uint16_t index3NullOffset;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  int32_t dataNullOffset;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  uint32_t nullValue;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor">#ifdef UCPTRIE_DEBUG</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *name;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> };</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor">#ifndef U_IN_DOXYGEN</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUCPTrie.html">UCPTrie</a> <a class="code" href="structUCPTrie.html">UCPTrie</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465"> 119</a></span> <span class="keyword">enum</span> <a class="code" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465">UCPTrieType</a> {</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465ae4474d990fe030905ffb0c11f3454b90"> 125</a></span>  <a class="code" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465ae4474d990fe030905ffb0c11f3454b90">UCPTRIE_TYPE_ANY</a> = -1,</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465a0fc3f23899946bd2df3ff03adafbb032"> 130</a></span>  <a class="code" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465a0fc3f23899946bd2df3ff03adafbb032">UCPTRIE_TYPE_FAST</a>,</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465a75efbaba0dfeabdce18f7adff32f74f5"> 135</a></span>  <a class="code" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465a75efbaba0dfeabdce18f7adff32f74f5">UCPTRIE_TYPE_SMALL</a></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> };</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor">#ifndef U_IN_DOXYGEN</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465">UCPTrieType</a> <a class="code" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465">UCPTrieType</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6e"> 149</a></span> <span class="keyword">enum</span> <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6e">UCPTrieValueWidth</a> {</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea03c8d65a443bf9af5fbf8c321c764285"> 155</a></span>  <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea03c8d65a443bf9af5fbf8c321c764285">UCPTRIE_VALUE_BITS_ANY</a> = -1,</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea8aedbe482494a508cb3e703efe873aa7"> 161</a></span>  <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea8aedbe482494a508cb3e703efe873aa7">UCPTRIE_VALUE_BITS_16</a>,</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ead3835bbac363a881d36886afb4a91698"> 166</a></span>  <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ead3835bbac363a881d36886afb4a91698">UCPTRIE_VALUE_BITS_32</a>,</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea04f3f0f8a4777631d6de33be33cd722e"> 172</a></span>  <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea04f3f0f8a4777631d6de33be33cd722e">UCPTRIE_VALUE_BITS_8</a></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> };</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor">#ifndef U_IN_DOXYGEN</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6e">UCPTrieValueWidth</a> <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6e">UCPTrieValueWidth</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="code" href="structUCPTrie.html">UCPTrie</a> * U_EXPORT2</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <a class="code" href="ucptrie_8h.html#a93e3017261ea92d15e807952add15abd">ucptrie_openFromBinary</a>(<a class="code" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465">UCPTrieType</a> type, <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6e">UCPTrieValueWidth</a> valueWidth,</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *data, int32_t length, int32_t *pActualLength,</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <span class="keywordtype">void</span> U_EXPORT2</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <a class="code" href="ucptrie_8h.html#a13be49abe7850f15ae4cd13e86d8128a">ucptrie_close</a>(<a class="code" href="structUCPTrie.html">UCPTrie</a> *trie);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="code" href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465">UCPTrieType</a> U_EXPORT2</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <a class="code" href="ucptrie_8h.html#adee14811537907a56731e9523e8eb264">ucptrie_getType</a>(<span class="keyword">const</span> <a class="code" href="structUCPTrie.html">UCPTrie</a> *trie);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="code" href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6e">UCPTrieValueWidth</a> U_EXPORT2</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <a class="code" href="ucptrie_8h.html#a5a588fd8a483bbebd4acd96ffd05a12a">ucptrie_getValueWidth</a>(<span class="keyword">const</span> <a class="code" href="structUCPTrie.html">UCPTrie</a> *trie);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> uint32_t U_EXPORT2</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <a class="code" href="ucptrie_8h.html#af8cf468424195496115991f8a32eed84">ucptrie_get</a>(<span class="keyword">const</span> <a class="code" href="structUCPTrie.html">UCPTrie</a> *trie, <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> U_EXPORT2</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <a class="code" href="ucptrie_8h.html#a6d6bdc9d8f313be0e4d151f0cfc0086c">ucptrie_getRange</a>(<span class="keyword">const</span> <a class="code" href="structUCPTrie.html">UCPTrie</a> *trie, <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> start,</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="code" href="ucpmap_8h.html#aa32ef75912d4bbf21792256d17f16b9c">UCPMapRangeOption</a> option, uint32_t surrogateValue,</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <a class="code" href="ucpmap_8h.html#a2d302e405f2ea7dd5f65990460f2dbae">UCPMapValueFilter</a> *filter, <span class="keyword">const</span> <span class="keywordtype">void</span> *context, uint32_t *pValue);</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t U_EXPORT2</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <a class="code" href="ucptrie_8h.html#abca6115a1c9c61fd594b7df485702bab">ucptrie_toBinary</a>(<span class="keyword">const</span> <a class="code" href="structUCPTrie.html">UCPTrie</a> *trie, <span class="keywordtype">void</span> *data, int32_t capacity, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#ad8a8583a1ba1f1d43049d11c24be45ca"> 326</a></span> <span class="preprocessor">#define UCPTRIE_16(trie, i) ((trie)->data.ptr16[i])</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#ac483af4cb261ba7d72e5d64f0e121d6a"> 336</a></span> <span class="preprocessor">#define UCPTRIE_32(trie, i) ((trie)->data.ptr32[i])</span></div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a21da8c1396f9ebbd3f612c8cc222d240"> 346</a></span> <span class="preprocessor">#define UCPTRIE_8(trie, i) ((trie)->data.ptr8[i])</span></div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a46017f54183600938e79ba84b9bcd178"> 358</a></span> <span class="preprocessor">#define UCPTRIE_FAST_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_CP_INDEX(trie, 0xffff, c))</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div><div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a7a87c5c6cb0b1233e10f063413f9d003"> 370</a></span> <span class="preprocessor">#define UCPTRIE_SMALL_GET(trie, dataAccess, c) \</span></div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="preprocessor"> dataAccess(trie, _UCPTRIE_CP_INDEX(trie, UCPTRIE_SMALL_MAX, c))</span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a8dec4ebf430a0322953b0de5d50179e8"> 386</a></span> <span class="preprocessor">#define UCPTRIE_FAST_U16_NEXT(trie, dataAccess, src, limit, c, result) UPRV_BLOCK_MACRO_BEGIN { \</span></div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor"> (c) = *(src)++; \</span></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="preprocessor"> int32_t __index; \</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor"> if (!U16_IS_SURROGATE(c)) { \</span></div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="preprocessor"> __index = _UCPTRIE_FAST_INDEX(trie, c); \</span></div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="preprocessor"> } else { \</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="preprocessor"> uint16_t __c2; \</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor"> if (U16_IS_SURROGATE_LEAD(c) && (src) != (limit) && U16_IS_TRAIL(__c2 = *(src))) { \</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="preprocessor"> ++(src); \</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="preprocessor"> (c) = U16_GET_SUPPLEMENTARY((c), __c2); \</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="preprocessor"> __index = _UCPTRIE_SMALL_INDEX(trie, c); \</span></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="preprocessor"> } else { \</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="preprocessor"> __index = (trie)->dataLength - UCPTRIE_ERROR_VALUE_NEG_DATA_OFFSET; \</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor"> (result) = dataAccess(trie, __index); \</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="preprocessor">} UPRV_BLOCK_MACRO_END</span></div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a932a432c7936a1b03cc2f453e8d3836e"> 417</a></span> <span class="preprocessor">#define UCPTRIE_FAST_U16_PREV(trie, dataAccess, start, src, c, result) UPRV_BLOCK_MACRO_BEGIN { \</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor"> (c) = *--(src); \</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="preprocessor"> int32_t __index; \</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor"> if (!U16_IS_SURROGATE(c)) { \</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="preprocessor"> __index = _UCPTRIE_FAST_INDEX(trie, c); \</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="preprocessor"> } else { \</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="preprocessor"> uint16_t __c2; \</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> <span class="preprocessor"> if (U16_IS_SURROGATE_TRAIL(c) && (src) != (start) && U16_IS_LEAD(__c2 = *((src) - 1))) { \</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="preprocessor"> --(src); \</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="preprocessor"> (c) = U16_GET_SUPPLEMENTARY(__c2, (c)); \</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="preprocessor"> __index = _UCPTRIE_SMALL_INDEX(trie, c); \</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="preprocessor"> } else { \</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="preprocessor"> __index = (trie)->dataLength - UCPTRIE_ERROR_VALUE_NEG_DATA_OFFSET; \</span></div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="preprocessor"> (result) = dataAccess(trie, __index); \</span></div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span> <span class="preprocessor">} UPRV_BLOCK_MACRO_END</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div><div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#ab75bf3d4d7b9d698464fac7e83bf7c2c"> 451</a></span> <span class="preprocessor">#define UCPTRIE_FAST_U8_NEXT(trie, dataAccess, src, limit, result) UPRV_BLOCK_MACRO_BEGIN { \</span></div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor"> int32_t __lead = (uint8_t)*(src)++; \</span></div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="preprocessor"> if (!U8_IS_SINGLE(__lead)) { \</span></div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="preprocessor"> uint8_t __t1, __t2, __t3; \</span></div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="preprocessor"> if ((src) != (limit) && \</span></div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="preprocessor"> (__lead >= 0xe0 ? \</span></div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="preprocessor"> __lead < 0xf0 ? </span><span class="comment">/* U+0800..U+FFFF except surrogates */</span><span class="preprocessor"> \</span></div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="preprocessor"> U8_LEAD3_T1_BITS[__lead &= 0xf] & (1 << ((__t1 = *(src)) >> 5)) && \</span></div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="preprocessor"> ++(src) != (limit) && (__t2 = *(src) - 0x80) <= 0x3f && \</span></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="preprocessor"> (__lead = ((int32_t)(trie)->index[(__lead << 6) + (__t1 & 0x3f)]) + __t2, 1) \</span></div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="preprocessor"> : </span><span class="comment">/* U+10000..U+10FFFF */</span><span class="preprocessor"> \</span></div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="preprocessor"> (__lead -= 0xf0) <= 4 && \</span></div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="preprocessor"> U8_LEAD4_T1_BITS[(__t1 = *(src)) >> 4] & (1 << __lead) && \</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="preprocessor"> (__lead = (__lead << 6) | (__t1 & 0x3f), ++(src) != (limit)) && \</span></div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="preprocessor"> (__t2 = *(src) - 0x80) <= 0x3f && \</span></div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="preprocessor"> ++(src) != (limit) && (__t3 = *(src) - 0x80) <= 0x3f && \</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="preprocessor"> (__lead = __lead >= (trie)->shifted12HighStart ? \</span></div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="preprocessor"> (trie)->dataLength - UCPTRIE_HIGH_VALUE_NEG_DATA_OFFSET : \</span></div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="preprocessor"> ucptrie_internalSmallU8Index((trie), __lead, __t2, __t3), 1) \</span></div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="preprocessor"> : </span><span class="comment">/* U+0080..U+07FF */</span><span class="preprocessor"> \</span></div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="preprocessor"> __lead >= 0xc2 && (__t1 = *(src) - 0x80) <= 0x3f && \</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="preprocessor"> (__lead = (int32_t)(trie)->index[__lead & 0x1f] + __t1, 1))) { \</span></div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="preprocessor"> ++(src); \</span></div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="preprocessor"> } else { \</span></div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="preprocessor"> __lead = (trie)->dataLength - UCPTRIE_ERROR_VALUE_NEG_DATA_OFFSET; </span><span class="comment">/* ill-formed*/</span><span class="preprocessor"> \</span></div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="preprocessor"> (result) = dataAccess(trie, __lead); \</span></div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="preprocessor">} UPRV_BLOCK_MACRO_END</span></div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div><div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a194bc0279a0c22564199e2b5eef130ad"> 497</a></span> <span class="preprocessor">#define UCPTRIE_FAST_U8_PREV(trie, dataAccess, start, src, result) UPRV_BLOCK_MACRO_BEGIN { \</span></div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="preprocessor"> int32_t __index = (uint8_t)*--(src); \</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="preprocessor"> if (!U8_IS_SINGLE(__index)) { \</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span> <span class="preprocessor"> __index = ucptrie_internalU8PrevIndex((trie), __index, (const uint8_t *)(start), \</span></div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="preprocessor"> (const uint8_t *)(src)); \</span></div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="preprocessor"> (src) -= __index & 7; \</span></div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="preprocessor"> __index >>= 3; \</span></div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="preprocessor"> (result) = dataAccess(trie, __index); \</span></div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="preprocessor">} UPRV_BLOCK_MACRO_END</span></div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div><div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#ac02216670afc74dc60cc91161c63913b"> 517</a></span> <span class="preprocessor">#define UCPTRIE_ASCII_GET(trie, dataAccess, c) dataAccess(trie, c)</span></div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#ad33ea71b55eb2570bbc48faa51e58806"> 530</a></span> <span class="preprocessor">#define UCPTRIE_FAST_BMP_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_FAST_INDEX(trie, c))</span></div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div><div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="ucptrie_8h.html#a14732d865095e395373bb9a8f43b7ef2"> 542</a></span> <span class="preprocessor">#define UCPTRIE_FAST_SUPP_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_SMALL_INDEX(trie, c))</span></div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="comment">/* Internal definitions ----------------------------------------------------- */</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="preprocessor">#ifndef U_IN_DOXYGEN</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  UCPTRIE_FAST_SHIFT = 6,</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  UCPTRIE_FAST_DATA_BLOCK_LENGTH = 1 << UCPTRIE_FAST_SHIFT,</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  UCPTRIE_FAST_DATA_MASK = UCPTRIE_FAST_DATA_BLOCK_LENGTH - 1,</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  UCPTRIE_SMALL_MAX = 0xfff,</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  UCPTRIE_ERROR_VALUE_NEG_DATA_OFFSET = 1,</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  UCPTRIE_HIGH_VALUE_NEG_DATA_OFFSET = 2</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span> };</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span> </div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="comment">/* Internal functions and macros -------------------------------------------- */</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="comment">// Do not conditionalize with #ifndef U_HIDE_INTERNAL_API, needed for public API</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t U_EXPORT2</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span> ucptrie_internalSmallIndex(<span class="keyword">const</span> <a class="code" href="structUCPTrie.html">UCPTrie</a> *trie, <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c);</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span> </div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t U_EXPORT2</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span> ucptrie_internalSmallU8Index(<span class="keyword">const</span> <a class="code" href="structUCPTrie.html">UCPTrie</a> *trie, int32_t lt1, uint8_t t2, uint8_t t3);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> </div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <a class="code" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t U_EXPORT2</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span> ucptrie_internalU8PrevIndex(<span class="keyword">const</span> <a class="code" href="structUCPTrie.html">UCPTrie</a> *trie, <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c,</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keyword">const</span> uint8_t *start, <span class="keyword">const</span> uint8_t *src);</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="preprocessor">#define _UCPTRIE_FAST_INDEX(trie, c) \</span></div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor"> ((int32_t)(trie)->index[(c) >> UCPTRIE_FAST_SHIFT] + ((c) & UCPTRIE_FAST_DATA_MASK))</span></div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span> </div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="preprocessor">#define _UCPTRIE_SMALL_INDEX(trie, c) \</span></div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor"> ((c) >= (trie)->highStart ? \</span></div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor"> (trie)->dataLength - UCPTRIE_HIGH_VALUE_NEG_DATA_OFFSET : \</span></div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"> ucptrie_internalSmallIndex(trie, c))</span></div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span> </div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor">#define _UCPTRIE_CP_INDEX(trie, fastMax, c) \</span></div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"> ((uint32_t)(c) <= (uint32_t)(fastMax) ? \</span></div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="preprocessor"> _UCPTRIE_FAST_INDEX(trie, c) : \</span></div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="preprocessor"> (uint32_t)(c) <= 0x10ffff ? \</span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="preprocessor"> _UCPTRIE_SMALL_INDEX(trie, c) : \</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="preprocessor"> (trie)->dataLength - UCPTRIE_ERROR_VALUE_NEG_DATA_OFFSET)</span></div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <a class="code" href="umachine_8h.html#a1a820e5c6cbe8ac1742b654e6bf9ed7d">U_CDECL_END</a></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor">#endif // U_IN_DOXYGEN</span></div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span> </div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span> U_NAMESPACE_BEGIN</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <a class="code" href="localpointer_8h.html#a3030f841466c4bbbd465ac9c4b999549">U_DEFINE_LOCAL_OPEN_POINTER</a>(<a class="code" href="classLocalUCPTriePointer.html">LocalUCPTriePointer</a>, <a class="code" href="structUCPTrie.html">UCPTrie</a>, <a class="code" href="ucptrie_8h.html#a13be49abe7850f15ae4cd13e86d8128a">ucptrie_close</a>);</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> U_NAMESPACE_END</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="preprocessor">#endif // U_SHOW_CPLUSPLUS_API</span></div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span> </div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor">#endif</span></div><div class="ttc" id="ucpmap_8h_html_aa32ef75912d4bbf21792256d17f16b9c"><div class="ttname"><a href="ucpmap_8h.html#aa32ef75912d4bbf21792256d17f16b9c">UCPMapRangeOption</a></div><div class="ttdeci">UCPMapRangeOption</div><div class="ttdoc">Selectors for how ucpmap_getRange() etc. </div><div class="ttdef"><b>Definition:</b> <a href="ucpmap_8h_source.html#l00041">ucpmap.h:41</a></div></div> <div class="ttc" id="ucptrie_8h_html_adee14811537907a56731e9523e8eb264"><div class="ttname"><a href="ucptrie_8h.html#adee14811537907a56731e9523e8eb264">ucptrie_getType</a></div><div class="ttdeci">U_CAPI UCPTrieType ucptrie_getType(const UCPTrie *trie)</div><div class="ttdoc">Returns the trie type. </div></div> <div class="ttc" id="ucptrie_8h_html_a93e3017261ea92d15e807952add15abd"><div class="ttname"><a href="ucptrie_8h.html#a93e3017261ea92d15e807952add15abd">ucptrie_openFromBinary</a></div><div class="ttdeci">U_CAPI UCPTrie * ucptrie_openFromBinary(UCPTrieType type, UCPTrieValueWidth valueWidth, const void *data, int32_t length, int32_t *pActualLength, UErrorCode *pErrorCode)</div><div class="ttdoc">Opens a trie from its binary form, stored in 32-bit-aligned memory. </div></div> <div class="ttc" id="umachine_8h_html_a676114b1a64bb7c2de15c919a00b28df"><div class="ttname"><a href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a></div><div class="ttdeci">#define U_CAPI</div><div class="ttdoc">This is used to declare a function as a public ICU C API. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00110">umachine.h:110</a></div></div> <div class="ttc" id="ucptrie_8h_html_aed67816e547cf6f2eeba67d73f319b6e"><div class="ttname"><a href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6e">UCPTrieValueWidth</a></div><div class="ttdeci">UCPTrieValueWidth</div><div class="ttdoc">Selectors for the number of bits in a UCPTrie data value. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00149">ucptrie.h:149</a></div></div> <div class="ttc" id="structUCPTrie_html"><div class="ttname"><a href="structUCPTrie.html">UCPTrie</a></div><div class="ttdoc">Immutable Unicode code point trie structure. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00059">ucptrie.h:59</a></div></div> <div class="ttc" id="ucpmap_8h_html"><div class="ttname"><a href="ucpmap_8h.html">ucpmap.h</a></div><div class="ttdoc">C API: This file defines an abstract map from Unicode code points to integer values. </div></div> <div class="ttc" id="ucptrie_8h_html_aed67816e547cf6f2eeba67d73f319b6ea04f3f0f8a4777631d6de33be33cd722e"><div class="ttname"><a href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea04f3f0f8a4777631d6de33be33cd722e">UCPTRIE_VALUE_BITS_8</a></div><div class="ttdoc">The trie stores 8 bits per data value. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00172">ucptrie.h:172</a></div></div> <div class="ttc" id="utf8_8h_html"><div class="ttname"><a href="utf8_8h.html">utf8.h</a></div><div class="ttdoc">C API: 8-bit Unicode handling macros. </div></div> <div class="ttc" id="umachine_8h_html_a82c853d86803ab75c89267be54fbac6a"><div class="ttname"><a href="umachine_8h.html#a82c853d86803ab75c89267be54fbac6a">U_CDECL_BEGIN</a></div><div class="ttdeci">#define U_CDECL_BEGIN</div><div class="ttdoc">This is used to begin a declaration of a library private ICU C API. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00085">umachine.h:85</a></div></div> <div class="ttc" id="classLocalUCPTriePointer_html"><div class="ttname"><a href="classLocalUCPTriePointer.html">LocalUCPTriePointer</a></div><div class="ttdoc">"Smart pointer" class, closes a UCPTrie via ucptrie_close(). </div></div> <div class="ttc" id="ucptrie_8h_html_af8cf468424195496115991f8a32eed84"><div class="ttname"><a href="ucptrie_8h.html#af8cf468424195496115991f8a32eed84">ucptrie_get</a></div><div class="ttdeci">U_CAPI uint32_t ucptrie_get(const UCPTrie *trie, UChar32 c)</div><div class="ttdoc">Returns the value for a code point as stored in the trie, with range checking. </div></div> <div class="ttc" id="ucptrie_8h_html_a0736c5a35aefa6f366f5847a7b9d1465a0fc3f23899946bd2df3ff03adafbb032"><div class="ttname"><a href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465a0fc3f23899946bd2df3ff03adafbb032">UCPTRIE_TYPE_FAST</a></div><div class="ttdoc">Fast/simple/larger BMP data structure. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00130">ucptrie.h:130</a></div></div> <div class="ttc" id="localpointer_8h_html_a3030f841466c4bbbd465ac9c4b999549"><div class="ttname"><a href="localpointer_8h.html#a3030f841466c4bbbd465ac9c4b999549">U_DEFINE_LOCAL_OPEN_POINTER</a></div><div class="ttdeci">#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)</div><div class="ttdoc">"Smart pointer" definition macro, deletes objects via the closeFunction. </div><div class="ttdef"><b>Definition:</b> <a href="localpointer_8h_source.html#l00548">localpointer.h:548</a></div></div> <div class="ttc" id="localpointer_8h_html"><div class="ttname"><a href="localpointer_8h.html">localpointer.h</a></div><div class="ttdoc">C++ API: "Smart pointers" for use with and in ICU4C C++ code. </div></div> <div class="ttc" id="ucptrie_8h_html_abca6115a1c9c61fd594b7df485702bab"><div class="ttname"><a href="ucptrie_8h.html#abca6115a1c9c61fd594b7df485702bab">ucptrie_toBinary</a></div><div class="ttdeci">U_CAPI int32_t ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *pErrorCode)</div><div class="ttdoc">Writes a memory-mappable form of the trie into 32-bit aligned memory. </div></div> <div class="ttc" id="ucpmap_8h_html_a2d302e405f2ea7dd5f65990460f2dbae"><div class="ttname"><a href="ucpmap_8h.html#a2d302e405f2ea7dd5f65990460f2dbae">UCPMapValueFilter</a></div><div class="ttdeci">uint32_t UCPMapValueFilter(const void *context, uint32_t value)</div><div class="ttdoc">Callback function type: Modifies a map value. </div><div class="ttdef"><b>Definition:</b> <a href="ucpmap_8h_source.html#l00113">ucpmap.h:113</a></div></div> <div class="ttc" id="ucptrie_8h_html_aed67816e547cf6f2eeba67d73f319b6ead3835bbac363a881d36886afb4a91698"><div class="ttname"><a href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ead3835bbac363a881d36886afb4a91698">UCPTRIE_VALUE_BITS_32</a></div><div class="ttdoc">The trie stores 32 bits per data value. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00166">ucptrie.h:166</a></div></div> <div class="ttc" id="umachine_8h_html_a09fff5c3b5a5b015324dc3ec3cf92809"><div class="ttname"><a href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a></div><div class="ttdeci">int32_t UChar32</div><div class="ttdoc">Define UChar32 as a type for single Unicode code points. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00449">umachine.h:449</a></div></div> <div class="ttc" id="ucptrie_8h_html_aed67816e547cf6f2eeba67d73f319b6ea8aedbe482494a508cb3e703efe873aa7"><div class="ttname"><a href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea8aedbe482494a508cb3e703efe873aa7">UCPTRIE_VALUE_BITS_16</a></div><div class="ttdoc">The trie stores 16 bits per data value. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00161">ucptrie.h:161</a></div></div> <div class="ttc" id="ucptrie_8h_html_a5a588fd8a483bbebd4acd96ffd05a12a"><div class="ttname"><a href="ucptrie_8h.html#a5a588fd8a483bbebd4acd96ffd05a12a">ucptrie_getValueWidth</a></div><div class="ttdeci">U_CAPI UCPTrieValueWidth ucptrie_getValueWidth(const UCPTrie *trie)</div><div class="ttdoc">Returns the number of bits in a trie data value. </div></div> <div class="ttc" id="ucptrie_8h_html_aed67816e547cf6f2eeba67d73f319b6ea03c8d65a443bf9af5fbf8c321c764285"><div class="ttname"><a href="ucptrie_8h.html#aed67816e547cf6f2eeba67d73f319b6ea03c8d65a443bf9af5fbf8c321c764285">UCPTRIE_VALUE_BITS_ANY</a></div><div class="ttdoc">For ucptrie_openFromBinary() to accept any data value width. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00155">ucptrie.h:155</a></div></div> <div class="ttc" id="ucptrie_8h_html_a13be49abe7850f15ae4cd13e86d8128a"><div class="ttname"><a href="ucptrie_8h.html#a13be49abe7850f15ae4cd13e86d8128a">ucptrie_close</a></div><div class="ttdeci">U_CAPI void ucptrie_close(UCPTrie *trie)</div><div class="ttdoc">Closes a trie and releases associated memory. </div></div> <div class="ttc" id="umachine_8h_html_a1a820e5c6cbe8ac1742b654e6bf9ed7d"><div class="ttname"><a href="umachine_8h.html#a1a820e5c6cbe8ac1742b654e6bf9ed7d">U_CDECL_END</a></div><div class="ttdeci">#define U_CDECL_END</div><div class="ttdoc">This is used to end a declaration of a library private ICU C API. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00086">umachine.h:86</a></div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78c"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a></div><div class="ttdeci">UErrorCode</div><div class="ttdoc">Standard ICU4C error code type, a substitute for exceptions. </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00509">utypes.h:509</a></div></div> <div class="ttc" id="ucptrie_8h_html_a0736c5a35aefa6f366f5847a7b9d1465ae4474d990fe030905ffb0c11f3454b90"><div class="ttname"><a href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465ae4474d990fe030905ffb0c11f3454b90">UCPTRIE_TYPE_ANY</a></div><div class="ttdoc">For ucptrie_openFromBinary() to accept any type. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00125">ucptrie.h:125</a></div></div> <div class="ttc" id="utypes_8h_html"><div class="ttname"><a href="utypes_8h.html">utypes.h</a></div><div class="ttdoc">Basic definitions for ICU, for both C and C++ APIs. </div></div> <div class="ttc" id="ucptrie_8h_html_a6d6bdc9d8f313be0e4d151f0cfc0086c"><div class="ttname"><a href="ucptrie_8h.html#a6d6bdc9d8f313be0e4d151f0cfc0086c">ucptrie_getRange</a></div><div class="ttdeci">U_CAPI UChar32 ucptrie_getRange(const UCPTrie *trie, UChar32 start, UCPMapRangeOption option, uint32_t surrogateValue, UCPMapValueFilter *filter, const void *context, uint32_t *pValue)</div><div class="ttdoc">Returns the last code point such that all those from start to there have the same value...</div></div> <div class="ttc" id="ucptrie_8h_html_a0736c5a35aefa6f366f5847a7b9d1465"><div class="ttname"><a href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465">UCPTrieType</a></div><div class="ttdeci">UCPTrieType</div><div class="ttdoc">Selectors for the type of a UCPTrie. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00119">ucptrie.h:119</a></div></div> <div class="ttc" id="ucptrie_8h_html_a0736c5a35aefa6f366f5847a7b9d1465a75efbaba0dfeabdce18f7adff32f74f5"><div class="ttname"><a href="ucptrie_8h.html#a0736c5a35aefa6f366f5847a7b9d1465a75efbaba0dfeabdce18f7adff32f74f5">UCPTRIE_TYPE_SMALL</a></div><div class="ttdoc">Small/slower BMP data structure. </div><div class="ttdef"><b>Definition:</b> <a href="ucptrie_8h_source.html#l00135">ucptrie.h:135</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.14 </small></address> </body> </html>
| ver. 1.6 |
Github
|
.
| PHP 8.3.30 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка