Файловый менеджер - Редактировать - /opt/alt/alt-nodejs20/root/usr/share/doc/alt-nodejs20-libicu-doc/edits_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/edits.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">edits.h</div> </div> </div><!--header--> <div class="contents"> <a href="edits_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">// © 2016 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">// edits.h</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// created: 2016dec30 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 __EDITS_H__</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#define __EDITS_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> </div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</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">#include "<a class="code" href="uobject_8h.html">unicode/uobject.h</a>"</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> U_NAMESPACE_BEGIN</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">class </span>UnicodeString;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html"> 80</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334">U_COMMON_API</a> <a class="code" href="classicu_1_1Edits.html">Edits</a> final : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#aad73a1e766d550fc5649cee129d9c4f5"> 86</a></span>  <a class="code" href="classicu_1_1Edits.html#aad73a1e766d550fc5649cee129d9c4f5">Edits</a>() :</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  array(stackArray), capacity(STACK_CAPACITY), length(0), delta(0), numChanges(0),</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  errorCode_(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>) {}</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#a0e4831e132be3727d0a76f5e54713f19"> 94</a></span>  <a class="code" href="classicu_1_1Edits.html#a0e4831e132be3727d0a76f5e54713f19">Edits</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Edits.html">Edits</a> &other) :</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  array(stackArray), capacity(STACK_CAPACITY), length(other.length),</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  delta(other.delta), numChanges(other.numChanges),</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  errorCode_(other.errorCode_) {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  copyArray(other);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#aa704c3cdba620e8b22de9909b6a2023f"> 106</a></span>  <a class="code" href="classicu_1_1Edits.html#aa704c3cdba620e8b22de9909b6a2023f">Edits</a>(<a class="code" href="classicu_1_1Edits.html">Edits</a> &&src) noexcept :</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  array(stackArray), capacity(STACK_CAPACITY), length(src.length),</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  delta(src.delta), numChanges(src.numChanges),</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  errorCode_(src.errorCode_) {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  moveArray(src);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  ~<a class="code" href="classicu_1_1Edits.html">Edits</a>();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classicu_1_1Edits.html">Edits</a> &operator=(<span class="keyword">const</span> <a class="code" href="classicu_1_1Edits.html">Edits</a> &other);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="classicu_1_1Edits.html">Edits</a> &operator=(<a class="code" href="classicu_1_1Edits.html">Edits</a> &&src) noexcept;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordtype">void</span> reset() noexcept;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">void</span> addUnchanged(int32_t unchangedLength);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">void</span> addReplace(int32_t oldLength, int32_t newLength);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> copyErrorTo(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &outErrorCode) const;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#acfff62e7674b775af7a1a551ea4b3520"> 172</a></span>  int32_t lengthDelta()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> delta; }</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#ad76a53b1059f90f1763060fcb7e55d0e"> 177</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1Edits.html#ad76a53b1059f90f1763060fcb7e55d0e">hasChanges</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> numChanges != 0; }</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#adbd4e3cda9b33fa48dfaeb7f3fc820c7"> 183</a></span>  int32_t <a class="code" href="classicu_1_1Edits.html#adbd4e3cda9b33fa48dfaeb7f3fc820c7">numberOfChanges</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> numChanges; }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html"> 203</a></span>  <span class="keyword">struct </span><a class="code" href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334">U_COMMON_API</a> <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a> final : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#ad00e9ff8ad5ae926172fdcf880014ebc"> 208</a></span>  <a class="code" href="structicu_1_1Edits_1_1Iterator.html#ad00e9ff8ad5ae926172fdcf880014ebc">Iterator</a>() :</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  array(nullptr), index(0), length(0),</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  remaining(0), onlyChanges_(false), coarse(false),</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  dir(0), changed(false), oldLength_(0), newLength_(0),</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  srcIndex(0), replIndex(0), destIndex(0) {}</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a>(<span class="keyword">const</span> <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a> &other) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a> &operator=(<span class="keyword">const</span> <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a> &other) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#abf1e1bf188339745030a7298fb4e4e2b"> 232</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="structicu_1_1Edits_1_1Iterator.html#abf1e1bf188339745030a7298fb4e4e2b">next</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode) { <span class="keywordflow">return</span> <a class="code" href="structicu_1_1Edits_1_1Iterator.html#abf1e1bf188339745030a7298fb4e4e2b">next</a>(onlyChanges_, errorCode); }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#ad79a09eba65a561442c75c0dca833e5e"> 253</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="structicu_1_1Edits_1_1Iterator.html#ad79a09eba65a561442c75c0dca833e5e">findSourceIndex</a>(int32_t i, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode) {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">return</span> findIndex(i, <span class="keyword">true</span>, errorCode) == 0;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#a42e55e7bfb59e9d3ae197293a8eebed1"> 276</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="structicu_1_1Edits_1_1Iterator.html#a42e55e7bfb59e9d3ae197293a8eebed1">findDestinationIndex</a>(int32_t i, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode) {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> findIndex(i, <span class="keyword">false</span>, errorCode) == 0;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  int32_t destinationIndexFromSourceIndex(int32_t i, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  int32_t sourceIndexFromDestinationIndex(int32_t i, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> </div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#aef2f5776f84938487d21f37f954f52d0"> 335</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="structicu_1_1Edits_1_1Iterator.html#aef2f5776f84938487d21f37f954f52d0">hasChange</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> changed; }</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#ac71c867ecf5f68f5016be0b94009c124"> 343</a></span>  int32_t <a class="code" href="structicu_1_1Edits_1_1Iterator.html#ac71c867ecf5f68f5016be0b94009c124">oldLength</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> oldLength_; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#a866a7386f5b4c732c43f983434a812ac"> 354</a></span>  int32_t <a class="code" href="structicu_1_1Edits_1_1Iterator.html#a866a7386f5b4c732c43f983434a812ac">newLength</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> newLength_; }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> </div><div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#a9474a38c82267c7fddf46ece81ab1f58"> 363</a></span>  int32_t <a class="code" href="structicu_1_1Edits_1_1Iterator.html#a9474a38c82267c7fddf46ece81ab1f58">sourceIndex</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> srcIndex; }</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> </div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#afe967ee5b3edb3d77b5a4d0e79639fb0"> 380</a></span>  int32_t <a class="code" href="structicu_1_1Edits_1_1Iterator.html#afe967ee5b3edb3d77b5a4d0e79639fb0">replacementIndex</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="comment">// TODO: Throw an exception if we aren't in a change edit?</span></div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">return</span> replIndex;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  }</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="structicu_1_1Edits_1_1Iterator.html#a2c3828ebe1cfb42ff5dfa1cd76a6c1c2"> 392</a></span>  int32_t <a class="code" href="structicu_1_1Edits_1_1Iterator.html#a2c3828ebe1cfb42ff5dfa1cd76a6c1c2">destinationIndex</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> destIndex; }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& toString(<a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& appendTo) <span class="keyword">const</span>;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor">#endif // U_HIDE_INTERNAL_API</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1Edits.html">Edits</a>;</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> </div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a>(<span class="keyword">const</span> uint16_t *a, int32_t len, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> oc, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> crs);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  int32_t readLength(int32_t head);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordtype">void</span> updateNextIndexes();</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordtype">void</span> updatePreviousIndexes();</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> noNext();</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> next(<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> onlyChanges, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> previous(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  int32_t findIndex(int32_t i, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> findSource, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keyword">const</span> uint16_t *array;</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  int32_t index, length;</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="comment">// 0 if we are not within compressed equal-length changes.</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="comment">// Otherwise the number of remaining changes, including the current one.</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  int32_t remaining;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> onlyChanges_, coarse;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  int8_t dir; <span class="comment">// iteration direction: back(<0), initial(0), forward(>0)</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> changed;</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  int32_t oldLength_, newLength_;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  int32_t srcIndex, replIndex, destIndex;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  };</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#a48c1b738ee3e4d05488ce312ca007cc5"> 438</a></span>  <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a> <a class="code" href="classicu_1_1Edits.html#a48c1b738ee3e4d05488ce312ca007cc5">getCoarseChangesIterator</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="keywordflow">return</span> <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a>(array, length, <span class="keyword">true</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div><div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#ad107be5002c731eb4641f1d8fc7d2083"> 450</a></span>  <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a> <a class="code" href="classicu_1_1Edits.html#ad107be5002c731eb4641f1d8fc7d2083">getCoarseIterator</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">return</span> <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a>(array, length, <span class="keyword">false</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  }</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> </div><div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#adaef983caff5414096a00195d6c91386"> 462</a></span>  <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a> <a class="code" href="classicu_1_1Edits.html#adaef983caff5414096a00195d6c91386">getFineChangesIterator</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">return</span> <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a>(array, length, <span class="keyword">true</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  }</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div><div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classicu_1_1Edits.html#a06c274c0250d46ee386083ac02342e2d"> 473</a></span>  <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a> <a class="code" href="classicu_1_1Edits.html#a06c274c0250d46ee386083ac02342e2d">getFineIterator</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordflow">return</span> <a class="code" href="structicu_1_1Edits_1_1Iterator.html">Iterator</a>(array, length, <span class="keyword">false</span>, <span class="keyword">false</span>);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  }</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="classicu_1_1Edits.html">Edits</a> &mergeAndAppend(<span class="keyword">const</span> <a class="code" href="classicu_1_1Edits.html">Edits</a> &ab, <span class="keyword">const</span> <a class="code" href="classicu_1_1Edits.html">Edits</a> &bc, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordtype">void</span> releaseArray() noexcept;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <a class="code" href="classicu_1_1Edits.html">Edits</a> &copyArray(const <a class="code" href="classicu_1_1Edits.html">Edits</a> &other);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <a class="code" href="classicu_1_1Edits.html">Edits</a> &moveArray(<a class="code" href="classicu_1_1Edits.html">Edits</a> &src) noexcept;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordtype">void</span> setLastUnit(int32_t last) { array[length - 1] = <span class="keyword">static_cast<</span>uint16_t<span class="keyword">></span>(last); }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  int32_t lastUnit()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> length > 0 ? array[length - 1] : 0xffff; }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keywordtype">void</span> append(int32_t r);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> growArray();</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32_t STACK_CAPACITY = 100;</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  uint16_t *array;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  int32_t capacity;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  int32_t length;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  int32_t delta;</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  int32_t numChanges;</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode_;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  uint16_t stackArray[STACK_CAPACITY];</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span> };</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span> U_NAMESPACE_END</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="preprocessor">#endif </span><span class="comment">/* U_SHOW_CPLUSPLUS_API */</span><span class="preprocessor"></span></div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span> </div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="preprocessor">#endif // __EDITS_H__</span></div><div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_ac71c867ecf5f68f5016be0b94009c124"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#ac71c867ecf5f68f5016be0b94009c124">icu::Edits::Iterator::oldLength</a></div><div class="ttdeci">int32_t oldLength() const</div><div class="ttdoc">The length of the current span in the source string, which starts at sourceIndex. ...</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00343">edits.h:343</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_ad79a09eba65a561442c75c0dca833e5e"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#ad79a09eba65a561442c75c0dca833e5e">icu::Edits::Iterator::findSourceIndex</a></div><div class="ttdeci">UBool findSourceIndex(int32_t i, UErrorCode &errorCode)</div><div class="ttdoc">Moves the iterator to the edit that contains the source index. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00253">edits.h:253</a></div></div> <div class="ttc" id="classicu_1_1Edits_html_aa704c3cdba620e8b22de9909b6a2023f"><div class="ttname"><a href="classicu_1_1Edits.html#aa704c3cdba620e8b22de9909b6a2023f">icu::Edits::Edits</a></div><div class="ttdeci">Edits(Edits &&src) noexcept</div><div class="ttdoc">Move constructor, might leave src empty. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00106">edits.h:106</a></div></div> <div class="ttc" id="classicu_1_1Edits_html_adaef983caff5414096a00195d6c91386"><div class="ttname"><a href="classicu_1_1Edits.html#adaef983caff5414096a00195d6c91386">icu::Edits::getFineChangesIterator</a></div><div class="ttdeci">Iterator getFineChangesIterator() const</div><div class="ttdoc">Returns an Iterator for fine-grained change edits (full granularity of change edits is retained)...</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00462">edits.h:462</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html">icu::Edits::Iterator</a></div><div class="ttdoc">Access to the list of edits. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00203">edits.h:203</a></div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a></div><div class="ttdoc">No error, no warning. </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00544">utypes.h:544</a></div></div> <div class="ttc" id="classicu_1_1Edits_html_ad107be5002c731eb4641f1d8fc7d2083"><div class="ttname"><a href="classicu_1_1Edits.html#ad107be5002c731eb4641f1d8fc7d2083">icu::Edits::getCoarseIterator</a></div><div class="ttdeci">Iterator getCoarseIterator() const</div><div class="ttdoc">Returns an Iterator for coarse-grained change and no-change edits (adjacent change edits are treated ...</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00450">edits.h:450</a></div></div> <div class="ttc" id="classicu_1_1Edits_html_a48c1b738ee3e4d05488ce312ca007cc5"><div class="ttname"><a href="classicu_1_1Edits.html#a48c1b738ee3e4d05488ce312ca007cc5">icu::Edits::getCoarseChangesIterator</a></div><div class="ttdeci">Iterator getCoarseChangesIterator() const</div><div class="ttdoc">Returns an Iterator for coarse-grained change edits (adjacent change edits are treated as one)...</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00438">edits.h:438</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_a866a7386f5b4c732c43f983434a812ac"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#a866a7386f5b4c732c43f983434a812ac">icu::Edits::Iterator::newLength</a></div><div class="ttdeci">int32_t newLength() const</div><div class="ttdoc">The length of the current span in the destination string, which starts at destinationIndex, or in the replacement string, which starts at replacementIndex. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00354">edits.h:354</a></div></div> <div class="ttc" id="classicu_1_1Edits_html"><div class="ttname"><a href="classicu_1_1Edits.html">icu::Edits</a></div><div class="ttdoc">Records lengths of string edits but not replacement text. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00080">edits.h:80</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_a9474a38c82267c7fddf46ece81ab1f58"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#a9474a38c82267c7fddf46ece81ab1f58">icu::Edits::Iterator::sourceIndex</a></div><div class="ttdeci">int32_t sourceIndex() const</div><div class="ttdoc">The start index of the current span in the source string; the span has length oldLength. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00363">edits.h:363</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_afe967ee5b3edb3d77b5a4d0e79639fb0"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#afe967ee5b3edb3d77b5a4d0e79639fb0">icu::Edits::Iterator::replacementIndex</a></div><div class="ttdeci">int32_t replacementIndex() const</div><div class="ttdoc">The start index of the current span in the replacement string; the span has length newLength...</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00380">edits.h:380</a></div></div> <div class="ttc" id="classicu_1_1Edits_html_ad76a53b1059f90f1763060fcb7e55d0e"><div class="ttname"><a href="classicu_1_1Edits.html#ad76a53b1059f90f1763060fcb7e55d0e">icu::Edits::hasChanges</a></div><div class="ttdeci">UBool hasChanges() const</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00177">edits.h:177</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_a2c3828ebe1cfb42ff5dfa1cd76a6c1c2"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#a2c3828ebe1cfb42ff5dfa1cd76a6c1c2">icu::Edits::Iterator::destinationIndex</a></div><div class="ttdeci">int32_t destinationIndex() const</div><div class="ttdoc">The start index of the current span in the destination string; the span has length newLength...</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00392">edits.h:392</a></div></div> <div class="ttc" id="uobject_8h_html"><div class="ttname"><a href="uobject_8h.html">uobject.h</a></div><div class="ttdoc">C++ API: Common ICU base class UObject. </div></div> <div class="ttc" id="classicu_1_1Edits_html_a06c274c0250d46ee386083ac02342e2d"><div class="ttname"><a href="classicu_1_1Edits.html#a06c274c0250d46ee386083ac02342e2d">icu::Edits::getFineIterator</a></div><div class="ttdeci">Iterator getFineIterator() const</div><div class="ttdoc">Returns an Iterator for fine-grained change and no-change edits (full granularity of change edits is ...</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00473">edits.h:473</a></div></div> <div class="ttc" id="classicu_1_1Edits_html_a0e4831e132be3727d0a76f5e54713f19"><div class="ttname"><a href="classicu_1_1Edits.html#a0e4831e132be3727d0a76f5e54713f19">icu::Edits::Edits</a></div><div class="ttdeci">Edits(const Edits &other)</div><div class="ttdoc">Copy constructor. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00094">edits.h:94</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_ad00e9ff8ad5ae926172fdcf880014ebc"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#ad00e9ff8ad5ae926172fdcf880014ebc">icu::Edits::Iterator::Iterator</a></div><div class="ttdeci">Iterator()</div><div class="ttdoc">Default constructor, empty iterator. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00208">edits.h:208</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_aef2f5776f84938487d21f37f954f52d0"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#aef2f5776f84938487d21f37f954f52d0">icu::Edits::Iterator::hasChange</a></div><div class="ttdeci">UBool hasChange() const</div><div class="ttdoc">Returns whether the edit currently represented by the iterator is a change edit. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00335">edits.h:335</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="structicu_1_1Edits_1_1Iterator_html_a42e55e7bfb59e9d3ae197293a8eebed1"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#a42e55e7bfb59e9d3ae197293a8eebed1">icu::Edits::Iterator::findDestinationIndex</a></div><div class="ttdeci">UBool findDestinationIndex(int32_t i, UErrorCode &errorCode)</div><div class="ttdoc">Moves the iterator to the edit that contains the destination index. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00276">edits.h:276</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="classicu_1_1Edits_html_aad73a1e766d550fc5649cee129d9c4f5"><div class="ttname"><a href="classicu_1_1Edits.html#aad73a1e766d550fc5649cee129d9c4f5">icu::Edits::Edits</a></div><div class="ttdeci">Edits()</div><div class="ttdoc">Constructs an empty object. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00086">edits.h:86</a></div></div> <div class="ttc" id="utypes_8h_html_a559955ec3bc692657c5d8b1c6de8e334"><div class="ttname"><a href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334">U_COMMON_API</a></div><div class="ttdeci">#define U_COMMON_API</div><div class="ttdoc">Set to export library symbols from inside the common library, and to import them from outside...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00315">utypes.h:315</a></div></div> <div class="ttc" id="classicu_1_1UnicodeString_html"><div class="ttname"><a href="classicu_1_1UnicodeString.html">icu::UnicodeString</a></div><div class="ttdoc">UnicodeString is a string class that stores Unicode characters directly and provides similar function...</div><div class="ttdef"><b>Definition:</b> <a href="unistr_8h_source.html#l00302">unistr.h:302</a></div></div> <div class="ttc" id="classicu_1_1Edits_html_adbd4e3cda9b33fa48dfaeb7f3fc820c7"><div class="ttname"><a href="classicu_1_1Edits.html#adbd4e3cda9b33fa48dfaeb7f3fc820c7">icu::Edits::numberOfChanges</a></div><div class="ttdeci">int32_t numberOfChanges() const</div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00183">edits.h:183</a></div></div> <div class="ttc" id="structicu_1_1Edits_1_1Iterator_html_abf1e1bf188339745030a7298fb4e4e2b"><div class="ttname"><a href="structicu_1_1Edits_1_1Iterator.html#abf1e1bf188339745030a7298fb4e4e2b">icu::Edits::Iterator::next</a></div><div class="ttdeci">UBool next(UErrorCode &errorCode)</div><div class="ttdoc">Advances the iterator to the next edit. </div><div class="ttdef"><b>Definition:</b> <a href="edits_8h_source.html#l00232">edits.h:232</a></div></div> <div class="ttc" id="classicu_1_1UMemory_html"><div class="ttname"><a href="classicu_1_1UMemory.html">icu::UMemory</a></div><div class="ttdoc">UMemory is the common ICU base class. </div><div class="ttdef"><b>Definition:</b> <a href="uobject_8h_source.html#l00115">uobject.h:115</a></div></div> <div class="ttc" id="umachine_8h_html_a349ef00011f20ccd1d3b424445681aa5"><div class="ttname"><a href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a></div><div class="ttdeci">int8_t UBool</div><div class="ttdoc">The ICU boolean type, a signed-byte integer. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00269">umachine.h:269</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
|
Настройка