<!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"/> <title>ICU 52.1: utext.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="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 style="padding-left: 0.5em;"> <div id="projectname">ICU 52.1  <span id="projectnumber">52.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.2 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </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">utext.h</div> </div> </div><!--header--> <div class="contents"> <a href="utext_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">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">*******************************************************************************</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">*</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">* Copyright (C) 2004-2012, International Business Machines</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">* Corporation and others. All Rights Reserved.</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">*</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">*******************************************************************************</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">* file name: utext.h</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">* encoding: US-ASCII</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">* tab size: 8 (not used)</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">* indentation:4</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">*</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">* created on: 2004oct06</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">* created by: Markus W. Scherer</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">*/</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifndef __UTEXT_H__</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"></span><span class="preprocessor">#define __UTEXT_H__</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>"</span></div> <div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor">#include "<a class="code" href="uchar_8h.html" title="C API: Unicode Properties.">unicode/uchar.h</a>"</span></div> <div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="localpointer_8h.html" title="C++ API: "Smart pointers" for use with and in ICU4C C++ code.">unicode/localpointer.h</a>"</span></div> <div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor">#include "<a class="code" href="rep_8h.html" title="C++ API: Replaceable String.">unicode/rep.h</a>"</span></div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor">#include "<a class="code" href="unistr_8h.html" title="C++ API: Unicode String.">unicode/unistr.h</a>"</span></div> <div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor">#include "<a class="code" href="chariter_8h.html" title="C++ API: Character Iterator.">unicode/chariter.h</a>"</span></div> <div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div> <div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <a class="code" href="umachine_8h.html#a82c853d86803ab75c89267be54fbac6a" title="This is used to begin a declaration of a library private ICU C API.">U_CDECL_BEGIN</a></div> <div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div> <div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">struct </span><a class="code" href="structUText.html" title="UText struct.">UText</a>;</div> <div class="line"><a name="l00151"></a><span class="lineno"><a class="code" href="utext_8h.html#a8da22111033cc0c063d89cae348ec1e4"> 151</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUText.html" title="UText struct.">UText</a> <a class="code" href="structUText.html" title="UText struct.">UText</a>; </div> <div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment">/***************************************************************************************</span></div> <div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> *</span></div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> * C Functions for creating UText wrappers around various kinds of text strings.</span></div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> *</span></div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> ****************************************************************************************/</span></div> <div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <a class="code" href="utext_8h.html#a303eb28b0f98498dfcb063e05ab2695c" title="Close function for UText instances.">utext_close</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div> <div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <a class="code" href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b" title="This is used to begin a declaration of a public ICU C++ API.">U_NAMESPACE_BEGIN</a></div> <div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div> <div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <a class="code" href="localpointer_8h.html#a3030f841466c4bbbd465ac9c4b999549" title=""Smart pointer" definition macro, deletes objects via the closeFunction.">U_DEFINE_LOCAL_OPEN_POINTER</a>(<a class="code" href="classLocalUTextPointer.html" title=""Smart pointer" class, closes a UText via utext_close().">LocalUTextPointer</a>, <a class="code" href="structUText.html" title="UText struct.">UText</a>, <a class="code" href="utext_8h.html#a303eb28b0f98498dfcb063e05ab2695c" title="Close function for UText instances.">utext_close</a>);</div> <div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div> <div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <a class="code" href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933" title="This is used to end a declaration of a public ICU C++ API.">U_NAMESPACE_END</a></div> <div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <a class="code" href="utext_8h.html#a32e9e14644d140c3501a7a09e7ad5864" title="Open a read-only UText implementation for UTF-8 strings.">utext_openUTF8</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, <span class="keyword">const</span> <span class="keywordtype">char</span> *s, int64_t length, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div> <div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <a class="code" href="utext_8h.html#adf311525bdd2a7f155bbe5cbb4c4de15" title="Open a read-only UText for UChar * string.">utext_openUChars</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...">UChar</a> *s, int64_t length, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div> <div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div> <div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <a class="code" href="utext_8h.html#acd2f44dd291546e04c8553d1540db279" title="Open a writable UText for a non-const UnicodeString.">utext_openUnicodeString</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">icu::UnicodeString</a> *s, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00261"></a><span class="lineno"> 261</span> </div> <div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div> <div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <a class="code" href="utext_8h.html#a5182092827a8fa7133e37c2b87a6ac28" title="Open a UText for a const UnicodeString.">utext_openConstUnicodeString</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">icu::UnicodeString</a> *s, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div> <div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <a class="code" href="utext_8h.html#a37f5742a5e5ee036d17a062884fef199" title="Open a writable UText implementation for an ICU Replaceable object.">utext_openReplaceable</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, <a class="code" href="classicu_1_1Replaceable.html" title="Replaceable is an abstract base class representing a string of characters that supports the replaceme...">icu::Replaceable</a> *rep, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div> <div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <a class="code" href="utext_8h.html#a9f4ea1b685e7b54f72baa840d73aefba" title="Open a UText implementation over an ICU CharacterIterator.">utext_openCharacterIterator</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, <a class="code" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">icu::CharacterIterator</a> *ci, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div> <div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div> <div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <a class="code" href="utext_8h.html#a8732a0c34ee4764c08f70b7a8d7ca4d4" title="Clone a UText.">utext_clone</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *dest, <span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *src, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> deep, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> readOnly, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div> <div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> U_EXPORT2</div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <a class="code" href="utext_8h.html#a592a289ae040b2e610e9aaa9032ce276" title="Compare two UText objects for equality.">utext_equals</a>(<span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *<a class="code" href="structUText.html#af8312bce2b8883ace9917ff06d682321" title="(protected) Integer field reserved for use by the text provider.">a</a>, <span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *<a class="code" href="structUText.html#a04153242e0ccf6401a0b7d882eda7371" title="(protected) Integer field reserved for use by the text provider.">b</a>);</div> <div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div> <div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div> <div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="comment">/*****************************************************************************</span></div> <div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="comment"> *</span></div> <div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="comment"> * Functions to work with the text represeted by a UText wrapper</span></div> <div class="line"><a name="l00391"></a><span class="lineno"> 391</span> <span class="comment"> *</span></div> <div class="line"><a name="l00392"></a><span class="lineno"> 392</span> <span class="comment"> *****************************************************************************/</span></div> <div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div> <div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> int64_t U_EXPORT2</div> <div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <a class="code" href="utext_8h.html#ab6a809d8168c1ccf30746cd57234a59e" title="Get the length of the text.">utext_nativeLength</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div> <div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> U_EXPORT2</div> <div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <a class="code" href="utext_8h.html#a18dd4010f0d9fbe9c920f3ce954990ed" title="Return TRUE if calculating the length of the text could be expensive.">utext_isLengthExpensive</a>(<span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div> <div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <a class="code" href="utext_8h.html#aab911e6df41b5e5a90fd09d2f0aa4fbc" title="Returns the code point at the requested index, or U_SENTINEL (-1) if it is out of bounds...">utext_char32At</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, int64_t nativeIndex);</div> <div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div> <div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div> <div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <a class="code" href="utext_8h.html#a890bfd8f4c97a85bb70a22eabb34b716" title="Get the code point at the current iteration position, or U_SENTINEL (-1) if the iteration has reached...">utext_current32</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00465"></a><span class="lineno"> 465</span> </div> <div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div> <div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <a class="code" href="utext_8h.html#ad4c8e3ba851a3482b2c77cc58cff9ad0" title="Get the code point at the current iteration position of the UText, and advance the position to the fi...">utext_next32</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div> <div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div> <div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <a class="code" href="utext_8h.html#af762d727316244730b78667d12e26dd6" title="Move the iterator position to the character (code point) whose index precedes the current position...">utext_previous32</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00508"></a><span class="lineno"> 508</span> </div> <div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div> <div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <a class="code" href="utext_8h.html#a819b23625de643f71280c076feac31a7" title="Set the iteration index and return the code point at that index.">utext_next32From</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, int64_t nativeIndex);</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> </div> <div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div> <div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <a class="code" href="utext_8h.html#a7d12867d3baae5beeb34351e172b5cd8" title="Set the iteration index, and return the code point preceding the one specified by the initial index...">utext_previous32From</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, int64_t nativeIndex);</div> <div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div> <div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> int64_t U_EXPORT2</div> <div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <a class="code" href="utext_8h.html#acd28c25814787d3d1620e3edb8f917fd" title="Get the current iterator position, which can range from 0 to the length of the text.">utext_getNativeIndex</a>(<span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div> <div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <a class="code" href="utext_8h.html#a530b4bb7f0e577008e4930f2b39ecd8a" title="Set the current iteration position to the nearest code point boundary at or preceding the specified i...">utext_setNativeIndex</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, int64_t nativeIndex);</div> <div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div> <div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> U_EXPORT2</div> <div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <a class="code" href="utext_8h.html#af91afb68d5059ec704d8d6969288c00d" title="Move the iterator postion by delta code points.">utext_moveIndex32</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, int32_t delta);</div> <div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div> <div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> int64_t U_EXPORT2</div> <div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <a class="code" href="utext_8h.html#a2c703c15aa63fc6555d50feec4f6b3c6" title="Get the native index of the character preceeding the current position.">utext_getPreviousNativeIndex</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut); </div> <div class="line"><a name="l00635"></a><span class="lineno"> 635</span> </div> <div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div> <div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <a class="code" href="utext_8h.html#aec0833241ef75e474f3dbf4dcf3be9c3" title="Extract text from a UText into a UChar buffer.">utext_extract</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut,</div> <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  int64_t nativeStart, int64_t nativeLimit,</div> <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...">UChar</a> *dest, int32_t destCapacity,</div> <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div> <div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div> <div class="line"><a name="l00678"></a><span class="lineno"> 678</span> </div> <div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="comment">/************************************************************************************</span></div> <div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="comment"> *</span></div> <div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment"> * #define inline versions of selected performance-critical text access functions</span></div> <div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="comment"> * Caution: do not use auto increment++ or decrement-- expressions</span></div> <div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment"> * as parameters to these macros.</span></div> <div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="comment"> *</span></div> <div class="line"><a name="l00685"></a><span class="lineno"> 685</span> <span class="comment"> * For most use, where there is no extreme performance constraint, the</span></div> <div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="comment"> * normal, non-inline functions are a better choice. The resulting code</span></div> <div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="comment"> * will be smaller, and, if the need ever arises, easier to debug.</span></div> <div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="comment"> *</span></div> <div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="comment"> * These are implemented as #defines rather than real functions</span></div> <div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="comment"> * because there is no fully portable way to do inline functions in plain C.</span></div> <div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="comment"> *</span></div> <div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="comment"> ************************************************************************************/</span></div> <div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div> <div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div> <div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00704"></a><span class="lineno"><a class="code" href="utext_8h.html#afedc50a892711dbf795af1fb8aac40cf"> 704</a></span> <span class="preprocessor">#define UTEXT_CURRENT32(ut) \</span></div> <div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="preprocessor"> ((ut)->chunkOffset < (ut)->chunkLength && ((ut)->chunkContents)[(ut)->chunkOffset]<0xd800 ? \</span></div> <div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="preprocessor"> ((ut)->chunkContents)[((ut)->chunkOffset)] : utext_current32(ut))</span></div> <div class="line"><a name="l00707"></a><span class="lineno"> 707</span> <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_INTERNAL_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00708"></a><span class="lineno"> 708</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00720"></a><span class="lineno"><a class="code" href="utext_8h.html#aa4b973aeeb5f10f8aec454545f85b6a2"> 720</a></span> <span class="preprocessor">#define UTEXT_NEXT32(ut) \</span></div> <div class="line"><a name="l00721"></a><span class="lineno"> 721</span> <span class="preprocessor"> ((ut)->chunkOffset < (ut)->chunkLength && ((ut)->chunkContents)[(ut)->chunkOffset]<0xd800 ? \</span></div> <div class="line"><a name="l00722"></a><span class="lineno"> 722</span> <span class="preprocessor"> ((ut)->chunkContents)[((ut)->chunkOffset)++] : utext_next32(ut))</span></div> <div class="line"><a name="l00723"></a><span class="lineno"> 723</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00734"></a><span class="lineno"><a class="code" href="utext_8h.html#a8aa3d9bae7b252622fe8e70e87758205"> 734</a></span> <span class="preprocessor">#define UTEXT_PREVIOUS32(ut) \</span></div> <div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="preprocessor"> ((ut)->chunkOffset > 0 && \</span></div> <div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="preprocessor"> (ut)->chunkContents[(ut)->chunkOffset-1] < 0xd800 ? \</span></div> <div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="preprocessor"> (ut)->chunkContents[--((ut)->chunkOffset)] : utext_previous32(ut))</span></div> <div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00751"></a><span class="lineno"><a class="code" href="utext_8h.html#a23a003b461019bea876827b8b24cb364"> 751</a></span> <span class="preprocessor">#define UTEXT_GETNATIVEINDEX(ut) \</span></div> <div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="preprocessor"> ((ut)->chunkOffset <= (ut)->nativeIndexingLimit? \</span></div> <div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="preprocessor"> (ut)->chunkNativeStart+(ut)->chunkOffset : \</span></div> <div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="preprocessor"> (ut)->pFuncs->mapOffsetToNative(ut)) </span></div> <div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00767"></a><span class="lineno"><a class="code" href="utext_8h.html#a74aa6ff1add5886508657997ca8d4747"> 767</a></span> <span class="preprocessor">#define UTEXT_SETNATIVEINDEX(ut, ix) \</span></div> <div class="line"><a name="l00768"></a><span class="lineno"> 768</span> <span class="preprocessor"> { int64_t __offset = (ix) - (ut)->chunkNativeStart; \</span></div> <div class="line"><a name="l00769"></a><span class="lineno"> 769</span> <span class="preprocessor"> if (__offset>=0 && __offset<=(int64_t)(ut)->nativeIndexingLimit) { \</span></div> <div class="line"><a name="l00770"></a><span class="lineno"> 770</span> <span class="preprocessor"> (ut)->chunkOffset=(int32_t)__offset; \</span></div> <div class="line"><a name="l00771"></a><span class="lineno"> 771</span> <span class="preprocessor"> } else { \</span></div> <div class="line"><a name="l00772"></a><span class="lineno"> 772</span> <span class="preprocessor"> utext_setNativeIndex((ut), (ix)); } }</span></div> <div class="line"><a name="l00773"></a><span class="lineno"> 773</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00774"></a><span class="lineno"> 774</span> </div> <div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div> <div class="line"><a name="l00776"></a><span class="lineno"> 776</span> <span class="comment">/************************************************************************************</span></div> <div class="line"><a name="l00777"></a><span class="lineno"> 777</span> <span class="comment"> *</span></div> <div class="line"><a name="l00778"></a><span class="lineno"> 778</span> <span class="comment"> * Functions related to writing or modifying the text.</span></div> <div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="comment"> * These will work only with modifiable UTexts. Attempting to</span></div> <div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment"> * modify a read-only UText will return an error status.</span></div> <div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="comment"> *</span></div> <div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="comment"> ************************************************************************************/</span></div> <div class="line"><a name="l00783"></a><span class="lineno"> 783</span> </div> <div class="line"><a name="l00784"></a><span class="lineno"> 784</span> </div> <div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> U_EXPORT2</div> <div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <a class="code" href="utext_8h.html#af67295033b5dc1b2951b8b05e5ce9222" title="Return TRUE if the text can be written (modified) with utext_replace() or utext_copy().">utext_isWritable</a>(<span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00805"></a><span class="lineno"> 805</span> </div> <div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div> <div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> U_EXPORT2</div> <div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <a class="code" href="utext_8h.html#a5ca583f3d6592f6e4d00bd43a9bb4952" title="Test whether there is meta data associated with the text.">utext_hasMetaData</a>(<span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div> <div class="line"><a name="l00818"></a><span class="lineno"> 818</span> </div> <div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <a class="code" href="utext_8h.html#aa781cea4987dda8a7c5f0351e311bf07" title="Replace a range of the original text with a replacement text.">utext_replace</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut,</div> <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  int64_t nativeStart, int64_t nativeLimit,</div> <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...">UChar</a> *replacementText, int32_t replacementLength,</div> <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00851"></a><span class="lineno"> 851</span> </div> <div class="line"><a name="l00852"></a><span class="lineno"> 852</span> </div> <div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div> <div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <a class="code" href="utext_8h.html#abe74b66b8da9b9de17ea7e59af395c53" title="Copy or move a substring from one position to another within the text, while retaining any metadata a...">utext_copy</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut,</div> <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  int64_t nativeStart, int64_t nativeLimit,</div> <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  int64_t destIndex,</div> <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> move,</div> <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l00892"></a><span class="lineno"> 892</span> </div> <div class="line"><a name="l00893"></a><span class="lineno"> 893</span> </div> <div class="line"><a name="l00915"></a><span class="lineno"> 915</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00916"></a><span class="lineno"> 916</span> <a class="code" href="utext_8h.html#a1ea9abacabf9f48914104dba66d932ff">utext_freeze</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l00917"></a><span class="lineno"> 917</span> </div> <div class="line"><a name="l00918"></a><span class="lineno"> 918</span> </div> <div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00930"></a><span class="lineno"><a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaa752c07f9df260b5b0e234e15eab97f9f"> 930</a></span>  <a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaa752c07f9df260b5b0e234e15eab97f9f" title="It is potentially time consuming for the provider to determine the length of the text.">UTEXT_PROVIDER_LENGTH_IS_EXPENSIVE</a> = 1,</div> <div class="line"><a name="l00937"></a><span class="lineno"><a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaa52bb5c9cacd1f46eb87a856c71c073be"> 937</a></span>  <a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaa52bb5c9cacd1f46eb87a856c71c073be" title="Text chunks remain valid and usable until the text object is modified or deleted, not just until the ...">UTEXT_PROVIDER_STABLE_CHUNKS</a> = 2,</div> <div class="line"><a name="l00944"></a><span class="lineno"><a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaac67ce6ecf6bf959645e282f7194fbe3b"> 944</a></span>  <a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaac67ce6ecf6bf959645e282f7194fbe3b" title="The provider supports modifying the text via the replace() and copy() functions.">UTEXT_PROVIDER_WRITABLE</a> = 3,</div> <div class="line"><a name="l00950"></a><span class="lineno"><a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaa40c5cd24aea472f3752b4833b9ce63ca"> 950</a></span>  <a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaa40c5cd24aea472f3752b4833b9ce63ca" title="There is meta data associated with the text.">UTEXT_PROVIDER_HAS_META_DATA</a> = 4,</div> <div class="line"><a name="l00958"></a><span class="lineno"><a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaa75695072a896ec104b5d77598a7429f7"> 958</a></span>  <a class="code" href="utext_8h.html#a80155586fa275b28773c9b203f52cabaa75695072a896ec104b5d77598a7429f7" title="Text provider owns the text storage.">UTEXT_PROVIDER_OWNS_TEXT</a> = 5</div> <div class="line"><a name="l00959"></a><span class="lineno"> 959</span> };</div> <div class="line"><a name="l00960"></a><span class="lineno"> 960</span> </div> <div class="line"><a name="l00998"></a><span class="lineno"> 998</span> <span class="keyword">typedef</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> * <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00999"></a><span class="lineno"><a class="code" href="utext_8h.html#ae29be5a512f69c3a9d871890225d07ec"> 999</a></span> <a class="code" href="utext_8h.html#ae29be5a512f69c3a9d871890225d07ec" title="Function type declaration for UText.clone().">UTextClone</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *dest, <span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *src, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> deep, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div> <div class="line"><a name="l01001"></a><span class="lineno"> 1001</span> </div> <div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="keyword">typedef</span> int64_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l01011"></a><span class="lineno"><a class="code" href="utext_8h.html#a36bad470545b3183fff611c91312cc10"> 1011</a></span> <a class="code" href="utext_8h.html#a36bad470545b3183fff611c91312cc10" title="Function type declaration for UText.nativeLength().">UTextNativeLength</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> </div> <div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> <span class="keyword">typedef</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l01039"></a><span class="lineno"><a class="code" href="utext_8h.html#a829af7190e7cee22c647af949ebb4730"> 1039</a></span> <a class="code" href="utext_8h.html#a829af7190e7cee22c647af949ebb4730" title="Function type declaration for UText.access().">UTextAccess</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, int64_t nativeIndex, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> forward);</div> <div class="line"><a name="l01040"></a><span class="lineno"> 1040</span> </div> <div class="line"><a name="l01068"></a><span class="lineno"> 1068</span> <span class="keyword">typedef</span> int32_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l01069"></a><span class="lineno"><a class="code" href="utext_8h.html#a62d7c17254aee81ba7ccf7acdf79f2dd"> 1069</a></span> <a class="code" href="utext_8h.html#a62d7c17254aee81ba7ccf7acdf79f2dd" title="Function type declaration for UText.extract().">UTextExtract</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut,</div> <div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  int64_t nativeStart, int64_t nativeLimit,</div> <div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...">UChar</a> *dest, int32_t destCapacity,</div> <div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> </div> <div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="keyword">typedef</span> int32_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l01104"></a><span class="lineno"><a class="code" href="utext_8h.html#a0a84b5d0d434b0f1f71f77841cac3d97"> 1104</a></span> <a class="code" href="utext_8h.html#a0a84b5d0d434b0f1f71f77841cac3d97" title="Function type declaration for UText.replace().">UTextReplace</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut,</div> <div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  int64_t nativeStart, int64_t nativeLimit,</div> <div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...">UChar</a> *replacementText, int32_t replacmentLength,</div> <div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> </div> <div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l01138"></a><span class="lineno"><a class="code" href="utext_8h.html#ad017072290f396d7bce8fb0712a232e8"> 1138</a></span> <a class="code" href="utext_8h.html#ad017072290f396d7bce8fb0712a232e8" title="Function type declaration for UText.copy().">UTextCopy</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut,</div> <div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  int64_t nativeStart, int64_t nativeLimit,</div> <div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  int64_t nativeDest,</div> <div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> move,</div> <div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> </div> <div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="keyword">typedef</span> int64_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l01158"></a><span class="lineno"><a class="code" href="utext_8h.html#aa78b6ae4b98958554b7ee15de57e9c30"> 1158</a></span> <a class="code" href="utext_8h.html#aa78b6ae4b98958554b7ee15de57e9c30" title="Function type declaration for UText.mapOffsetToNative().">UTextMapOffsetToNative</a>(<span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> </div> <div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> <span class="keyword">typedef</span> int32_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l01176"></a><span class="lineno"><a class="code" href="utext_8h.html#ab14d770b0feb53e5c4677f998e6b5ad0"> 1176</a></span> <a class="code" href="utext_8h.html#ab14d770b0feb53e5c4677f998e6b5ad0" title="Function type declaration for UText.mapIndexToUTF16().">UTextMapNativeIndexToUTF16</a>(<span class="keyword">const</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, int64_t nativeIndex);</div> <div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> </div> <div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> </div> <div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> <span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l01197"></a><span class="lineno"><a class="code" href="utext_8h.html#a689fd4dcd7e392532f979af8b33273b5"> 1197</a></span> <a class="code" href="utext_8h.html#a689fd4dcd7e392532f979af8b33273b5" title="Function type declaration for UText.utextClose().">UTextClose</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut);</div> <div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> </div> <div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> </div> <div class="line"><a name="l01209"></a><span class="lineno"><a class="code" href="structUTextFuncs.html"> 1209</a></span> <span class="keyword">struct </span><a class="code" href="structUTextFuncs.html" title="(public) Function dispatch table for UText.">UTextFuncs</a> {</div> <div class="line"><a name="l01224"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a82423256ccf21ad6d407f1a390d826ca"> 1224</a></span>  int32_t <a class="code" href="structUTextFuncs.html#a82423256ccf21ad6d407f1a390d826ca" title="(public) Function table size, sizeof(UTextFuncs) Intended for use should the table grow to accomodate...">tableSize</a>;</div> <div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> </div> <div class="line"><a name="l01231"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a788850d9f82cf783bbdd731ac5407c2e"> 1231</a></span>  int32_t <a class="code" href="structUTextFuncs.html#a07aae199d0c0c50c843900aac4ab75c6" title="(private) Alignment padding.">reserved1</a>, <a class="code" href="structUTextFuncs.html#a0a34a019ecb5b8f6c53b640b5b259e94">reserved2</a>, <a class="code" href="structUTextFuncs.html#a788850d9f82cf783bbdd731ac5407c2e">reserved3</a>;</div> <div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> </div> <div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> </div> <div class="line"><a name="l01240"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#aec491b54b67bc848006b04e4ebce0009"> 1240</a></span>  <a class="code" href="utext_8h.html#ae29be5a512f69c3a9d871890225d07ec" title="Function type declaration for UText.clone().">UTextClone</a> *<a class="code" href="structUTextFuncs.html#aec491b54b67bc848006b04e4ebce0009" title="(public) Function pointer for UTextClone">clone</a>;</div> <div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> </div> <div class="line"><a name="l01249"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a8a91d3830174aa6a9d2bc7c1c9142ce6"> 1249</a></span>  <a class="code" href="utext_8h.html#a36bad470545b3183fff611c91312cc10" title="Function type declaration for UText.nativeLength().">UTextNativeLength</a> *<a class="code" href="structUTextFuncs.html#a8a91d3830174aa6a9d2bc7c1c9142ce6" title="(public) function pointer for UTextLength May be expensive to compute!">nativeLength</a>;</div> <div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> </div> <div class="line"><a name="l01257"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a5fc21ad481e4f48fcbec5a6cf5e6f3dc"> 1257</a></span>  <a class="code" href="utext_8h.html#a829af7190e7cee22c647af949ebb4730" title="Function type declaration for UText.access().">UTextAccess</a> *<a class="code" href="structUTextFuncs.html#a5fc21ad481e4f48fcbec5a6cf5e6f3dc" title="(public) Function pointer for UTextAccess.">access</a>;</div> <div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> </div> <div class="line"><a name="l01265"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a6fd73fbd4bf4e4e87d2589b43ef9b7e1"> 1265</a></span>  <a class="code" href="utext_8h.html#a62d7c17254aee81ba7ccf7acdf79f2dd" title="Function type declaration for UText.extract().">UTextExtract</a> *<a class="code" href="structUTextFuncs.html#a6fd73fbd4bf4e4e87d2589b43ef9b7e1" title="(public) Function pointer for UTextExtract.">extract</a>;</div> <div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> </div> <div class="line"><a name="l01273"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a8ba9ac339f0e901d87e4568b174943f9"> 1273</a></span>  <a class="code" href="utext_8h.html#a0a84b5d0d434b0f1f71f77841cac3d97" title="Function type declaration for UText.replace().">UTextReplace</a> *<a class="code" href="structUTextFuncs.html#a8ba9ac339f0e901d87e4568b174943f9" title="(public) Function pointer for UTextReplace.">replace</a>;</div> <div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> </div> <div class="line"><a name="l01281"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#acd589b6a5bc19d33777cbd72dbaa80cc"> 1281</a></span>  <a class="code" href="utext_8h.html#ad017072290f396d7bce8fb0712a232e8" title="Function type declaration for UText.copy().">UTextCopy</a> *<a class="code" href="structUTextFuncs.html#acd589b6a5bc19d33777cbd72dbaa80cc" title="(public) Function pointer for UTextCopy.">copy</a>;</div> <div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> </div> <div class="line"><a name="l01289"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a163661e37ab2a524e246f14fa3b2459d"> 1289</a></span>  <a class="code" href="utext_8h.html#aa78b6ae4b98958554b7ee15de57e9c30" title="Function type declaration for UText.mapOffsetToNative().">UTextMapOffsetToNative</a> *<a class="code" href="structUTextFuncs.html#a163661e37ab2a524e246f14fa3b2459d" title="(public) Function pointer for UTextMapOffsetToNative.">mapOffsetToNative</a>;</div> <div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> </div> <div class="line"><a name="l01297"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#ad64acbdb2322d22c5f102c6c5a540a9d"> 1297</a></span>  <a class="code" href="utext_8h.html#ab14d770b0feb53e5c4677f998e6b5ad0" title="Function type declaration for UText.mapIndexToUTF16().">UTextMapNativeIndexToUTF16</a> *<a class="code" href="structUTextFuncs.html#ad64acbdb2322d22c5f102c6c5a540a9d" title="(public) Function pointer for UTextMapNativeIndexToUTF16.">mapNativeIndexToUTF16</a>;</div> <div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> </div> <div class="line"><a name="l01305"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#aea81a263f231930c5b9e7213b92b1d0d"> 1305</a></span>  <a class="code" href="utext_8h.html#a689fd4dcd7e392532f979af8b33273b5" title="Function type declaration for UText.utextClose().">UTextClose</a> *<a class="code" href="structUTextFuncs.html#aea81a263f231930c5b9e7213b92b1d0d" title="(public) Function pointer for UTextClose.">close</a>;</div> <div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> </div> <div class="line"><a name="l01311"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a96977f916c2574cee8a8fe9e2b479d4b"> 1311</a></span>  <a class="code" href="utext_8h.html#a689fd4dcd7e392532f979af8b33273b5" title="Function type declaration for UText.utextClose().">UTextClose</a> *<a class="code" href="structUTextFuncs.html#a96977f916c2574cee8a8fe9e2b479d4b" title="(private) Spare function pointer">spare1</a>;</div> <div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>  </div> <div class="line"><a name="l01317"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a8e9d4d08bfc0199d46f475c9c9f5372d"> 1317</a></span>  <a class="code" href="utext_8h.html#a689fd4dcd7e392532f979af8b33273b5" title="Function type declaration for UText.utextClose().">UTextClose</a> *<a class="code" href="structUTextFuncs.html#a8e9d4d08bfc0199d46f475c9c9f5372d" title="(private) Spare function pointer">spare2</a>;</div> <div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> </div> <div class="line"><a name="l01323"></a><span class="lineno"><a class="code" href="structUTextFuncs.html#a7e395e53263ec5d8f0d30fca4343959d"> 1323</a></span>  <a class="code" href="utext_8h.html#a689fd4dcd7e392532f979af8b33273b5" title="Function type declaration for UText.utextClose().">UTextClose</a> *<a class="code" href="structUTextFuncs.html#a7e395e53263ec5d8f0d30fca4343959d" title="(private) Spare function pointer">spare3</a>;</div> <div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> </div> <div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> };</div> <div class="line"><a name="l01330"></a><span class="lineno"><a class="code" href="utext_8h.html#acaf57d3fd11db28583a36df05ec02295"> 1330</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUTextFuncs.html" title="(public) Function dispatch table for UText.">UTextFuncs</a> <a class="code" href="structUTextFuncs.html" title="(public) Function dispatch table for UText.">UTextFuncs</a>;</div> <div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div> <div class="line"><a name="l01343"></a><span class="lineno"><a class="code" href="structUText.html"> 1343</a></span> <span class="keyword">struct </span><a class="code" href="structUText.html" title="UText struct.">UText</a> {</div> <div class="line"><a name="l01356"></a><span class="lineno"><a class="code" href="structUText.html#aa8d7b2a0a7384ea6a01b8228f227db82"> 1356</a></span>  uint32_t <a class="code" href="structUText.html#aa8d7b2a0a7384ea6a01b8228f227db82" title="(private) Magic.">magic</a>;</div> <div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> </div> <div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> </div> <div class="line"><a name="l01364"></a><span class="lineno"><a class="code" href="structUText.html#a5381d111f35bcaecbfef253f102df792"> 1364</a></span>  int32_t <a class="code" href="structUText.html#a5381d111f35bcaecbfef253f102df792" title="(private) Flags for managing the allocation and freeing of memory associated with this UText...">flags</a>;</div> <div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> </div> <div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> </div> <div class="line"><a name="l01372"></a><span class="lineno"><a class="code" href="structUText.html#ac36640ce0a7f5c7b8ae243a8f33e93de"> 1372</a></span>  int32_t <a class="code" href="structUText.html#ac36640ce0a7f5c7b8ae243a8f33e93de" title="Text provider properties.">providerProperties</a>;</div> <div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> </div> <div class="line"><a name="l01380"></a><span class="lineno"><a class="code" href="structUText.html#a59864b5605f82440de919feba1d64106"> 1380</a></span>  int32_t <a class="code" href="structUText.html#a59864b5605f82440de919feba1d64106" title="(public) sizeOfStruct=sizeof(UText) Allows possible backward compatible extension.">sizeOfStruct</a>;</div> <div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>  </div> <div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>  <span class="comment">/* ------ 16 byte alignment boundary ----------- */</span></div> <div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>  </div> <div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> </div> <div class="line"><a name="l01390"></a><span class="lineno"><a class="code" href="structUText.html#a710af36373dd4d00fbd84f4a8429e248"> 1390</a></span>  int64_t <a class="code" href="structUText.html#a710af36373dd4d00fbd84f4a8429e248" title="(protected) Native index of the first character position following the current chunk.">chunkNativeLimit</a>;</div> <div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> </div> <div class="line"><a name="l01396"></a><span class="lineno"><a class="code" href="structUText.html#a265765aa476617b1b0a9b2f245d6c3f3"> 1396</a></span>  int32_t <a class="code" href="structUText.html#a265765aa476617b1b0a9b2f245d6c3f3" title="(protected) Size in bytes of the extra space (pExtra).">extraSize</a>;</div> <div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> </div> <div class="line"><a name="l01405"></a><span class="lineno"><a class="code" href="structUText.html#a52dd2b1427fc28e7d98c7e70064cedd5"> 1405</a></span>  int32_t <a class="code" href="structUText.html#a52dd2b1427fc28e7d98c7e70064cedd5" title="(protected) The highest chunk offset where native indexing and chunk (UTF-16) indexing correspond...">nativeIndexingLimit</a>;</div> <div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> </div> <div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  <span class="comment">/* ---- 16 byte alignment boundary------ */</span></div> <div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>  </div> <div class="line"><a name="l01413"></a><span class="lineno"><a class="code" href="structUText.html#ae57e342eea4d447634b875f5d19cefef"> 1413</a></span>  int64_t <a class="code" href="structUText.html#ae57e342eea4d447634b875f5d19cefef" title="(protected) Native index of the first character in the text chunk.">chunkNativeStart</a>;</div> <div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> </div> <div class="line"><a name="l01420"></a><span class="lineno"><a class="code" href="structUText.html#a0e634db596b38d898ea1a11d2a40befd"> 1420</a></span>  int32_t <a class="code" href="structUText.html#a0e634db596b38d898ea1a11d2a40befd" title="(protected) Current iteration position within the text chunk (UTF-16 buffer).">chunkOffset</a>;</div> <div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> </div> <div class="line"><a name="l01426"></a><span class="lineno"><a class="code" href="structUText.html#abc7bb5d202a4812e7f41733fba6ab256"> 1426</a></span>  int32_t <a class="code" href="structUText.html#abc7bb5d202a4812e7f41733fba6ab256" title="(protected) Length the text chunk (UTF-16 buffer), in UChars.">chunkLength</a>;</div> <div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> </div> <div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>  <span class="comment">/* ---- 16 byte alignment boundary-- */</span></div> <div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>  </div> <div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> </div> <div class="line"><a name="l01437"></a><span class="lineno"><a class="code" href="structUText.html#ac718cf49b95a1f41926230c8132137f6"> 1437</a></span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...">UChar</a> *<a class="code" href="structUText.html#ac718cf49b95a1f41926230c8132137f6" title="(protected) pointer to a chunk of text in UTF-16 format.">chunkContents</a>;</div> <div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> </div> <div class="line"><a name="l01443"></a><span class="lineno"><a class="code" href="structUText.html#ab56053acd8e0e33243359e7aeb44019f"> 1443</a></span>  <span class="keyword">const</span> <a class="code" href="structUTextFuncs.html" title="(public) Function dispatch table for UText.">UTextFuncs</a> *<a class="code" href="structUText.html#ab56053acd8e0e33243359e7aeb44019f" title="(public) Pointer to Dispatch table for accessing functions for this UText.">pFuncs</a>;</div> <div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> </div> <div class="line"><a name="l01450"></a><span class="lineno"><a class="code" href="structUText.html#a5ca08431f48c474a57220386bab5b876"> 1450</a></span>  <span class="keywordtype">void</span> *<a class="code" href="structUText.html#a5ca08431f48c474a57220386bab5b876" title="(protected) Pointer to additional space requested by the text provider during the utext_open operatio...">pExtra</a>;</div> <div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> </div> <div class="line"><a name="l01458"></a><span class="lineno"><a class="code" href="structUText.html#aeb9fa867f4b29378c34f5841d32db672"> 1458</a></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="structUText.html#aeb9fa867f4b29378c34f5841d32db672" title="(protected) Pointer to string or text-containin object or similar.">context</a>;</div> <div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> </div> <div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>  <span class="comment">/* --- 16 byte alignment boundary--- */</span></div> <div class="line"><a name="l01461"></a><span class="lineno"> 1461</span> </div> <div class="line"><a name="l01467"></a><span class="lineno"><a class="code" href="structUText.html#a1932275255384d6efa47aa0a8c24d60b"> 1467</a></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="structUText.html#a1932275255384d6efa47aa0a8c24d60b" title="(protected) Pointer fields available for use by the text provider.">p</a>; </div> <div class="line"><a name="l01473"></a><span class="lineno"><a class="code" href="structUText.html#acf46098bfe250ee8acb81356dfacc351"> 1473</a></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="structUText.html#acf46098bfe250ee8acb81356dfacc351" title="(protected) Pointer fields available for use by the text provider.">q</a>;</div> <div class="line"><a name="l01479"></a><span class="lineno"><a class="code" href="structUText.html#a88cccfe6b055df7e19f210396fec085a"> 1479</a></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="structUText.html#a88cccfe6b055df7e19f210396fec085a" title="(protected) Pointer fields available for use by the text provider.">r</a>;</div> <div class="line"><a name="l01480"></a><span class="lineno"> 1480</span> </div> <div class="line"><a name="l01486"></a><span class="lineno"><a class="code" href="structUText.html#ae4eb8619332a016551b683853fb83379"> 1486</a></span>  <span class="keywordtype">void</span> *<a class="code" href="structUText.html#ae4eb8619332a016551b683853fb83379" title="Private field reserved for future use by the UText framework itself.">privP</a>;</div> <div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> </div> <div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> </div> <div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>  <span class="comment">/* --- 16 byte alignment boundary--- */</span></div> <div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>  </div> <div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> </div> <div class="line"><a name="l01497"></a><span class="lineno"><a class="code" href="structUText.html#af8312bce2b8883ace9917ff06d682321"> 1497</a></span>  int64_t <a class="code" href="structUText.html#af8312bce2b8883ace9917ff06d682321" title="(protected) Integer field reserved for use by the text provider.">a</a>;</div> <div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> </div> <div class="line"><a name="l01504"></a><span class="lineno"><a class="code" href="structUText.html#a04153242e0ccf6401a0b7d882eda7371"> 1504</a></span>  int32_t <a class="code" href="structUText.html#a04153242e0ccf6401a0b7d882eda7371" title="(protected) Integer field reserved for use by the text provider.">b</a>;</div> <div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> </div> <div class="line"><a name="l01511"></a><span class="lineno"><a class="code" href="structUText.html#af3da19dd26083eaa72169c30b5397d35"> 1511</a></span>  int32_t <a class="code" href="structUText.html#af3da19dd26083eaa72169c30b5397d35" title="(protected) Integer field reserved for use by the text provider.">c</a>;</div> <div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> </div> <div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>  <span class="comment">/* ---- 16 byte alignment boundary---- */</span></div> <div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> </div> <div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> </div> <div class="line"><a name="l01521"></a><span class="lineno"><a class="code" href="structUText.html#a49c540af1306f66196ae5e9da79254d0"> 1521</a></span>  int64_t <a class="code" href="structUText.html#a49c540af1306f66196ae5e9da79254d0" title="Private field reserved for future use by the UText framework itself.">privA</a>;</div> <div class="line"><a name="l01527"></a><span class="lineno"><a class="code" href="structUText.html#a91252e56ab96828249a892ec847b61e8"> 1527</a></span>  int32_t <a class="code" href="structUText.html#a91252e56ab96828249a892ec847b61e8" title="Private field reserved for future use by the UText framework itself.">privB</a>;</div> <div class="line"><a name="l01533"></a><span class="lineno"><a class="code" href="structUText.html#ac990399966e1a7812056f0382ed14114"> 1533</a></span>  int32_t <a class="code" href="structUText.html#ac990399966e1a7812056f0382ed14114" title="Private field reserved for future use by the UText framework itself.">privC</a>;</div> <div class="line"><a name="l01534"></a><span class="lineno"> 1534</span> };</div> <div class="line"><a name="l01535"></a><span class="lineno"> 1535</span> </div> <div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> </div> <div class="line"><a name="l01553"></a><span class="lineno"> 1553</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="structUText.html" title="UText struct.">UText</a> * U_EXPORT2</div> <div class="line"><a name="l01554"></a><span class="lineno"> 1554</span> <a class="code" href="utext_8h.html#a024e9470afd51e1ae247dcbfbbbe8a67" title="Common function for use by Text Provider implementations to allocate and/or initialize a new UText st...">utext_setup</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *ut, int32_t extraSpace, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> *status);</div> <div class="line"><a name="l01555"></a><span class="lineno"> 1555</span> </div> <div class="line"><a name="l01556"></a><span class="lineno"> 1556</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div> <div class="line"><a name="l01557"></a><span class="lineno"> 1557</span> <span class="preprocessor"></span></div> <div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>  UTEXT_MAGIC = 0x345ad82c</div> <div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> };</div> <div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_INTERNAL_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l01566"></a><span class="lineno"> 1566</span> <span class="preprocessor"></span></div> <div class="line"><a name="l01574"></a><span class="lineno"><a class="code" href="utext_8h.html#a3dc916f710c0d3f17fe2a220384bcc8c"> 1574</a></span> <span class="preprocessor">#define UTEXT_INITIALIZER { \</span></div> <div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> <span class="preprocessor"> UTEXT_MAGIC, </span><span class="comment">/* magic */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> <span class="preprocessor"> 0, </span><span class="comment">/* flags */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> <span class="preprocessor"> 0, </span><span class="comment">/* providerProps */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> <span class="preprocessor"> sizeof(UText), </span><span class="comment">/* sizeOfStruct */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> <span class="preprocessor"> 0, </span><span class="comment">/* chunkNativeLimit */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> <span class="preprocessor"> 0, </span><span class="comment">/* extraSize */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> <span class="preprocessor"> 0, </span><span class="comment">/* nativeIndexingLimit */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="preprocessor"> 0, </span><span class="comment">/* chunkNativeStart */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01583"></a><span class="lineno"> 1583</span> <span class="preprocessor"> 0, </span><span class="comment">/* chunkOffset */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> <span class="preprocessor"> 0, </span><span class="comment">/* chunkLength */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01585"></a><span class="lineno"> 1585</span> <span class="preprocessor"> NULL, </span><span class="comment">/* chunkContents */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> <span class="preprocessor"> NULL, </span><span class="comment">/* pFuncs */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01587"></a><span class="lineno"> 1587</span> <span class="preprocessor"> NULL, </span><span class="comment">/* pExtra */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01588"></a><span class="lineno"> 1588</span> <span class="preprocessor"> NULL, </span><span class="comment">/* context */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01589"></a><span class="lineno"> 1589</span> <span class="preprocessor"> NULL, NULL, NULL, </span><span class="comment">/* p, q, r */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> <span class="preprocessor"> NULL, </span><span class="comment">/* privP */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01591"></a><span class="lineno"> 1591</span> <span class="preprocessor"> 0, 0, 0, </span><span class="comment">/* a, b, c */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01592"></a><span class="lineno"> 1592</span> <span class="preprocessor"> 0, 0, 0 </span><span class="comment">/* privA,B,C, */</span><span class="preprocessor"> \</span></div> <div class="line"><a name="l01593"></a><span class="lineno"> 1593</span> <span class="preprocessor"> }</span></div> <div class="line"><a name="l01594"></a><span class="lineno"> 1594</span> <span class="preprocessor"></span></div> <div class="line"><a name="l01595"></a><span class="lineno"> 1595</span> </div> <div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> <a class="code" href="umachine_8h.html#a1a820e5c6cbe8ac1742b654e6bf9ed7d" title="This is used to end a declaration of a library private ICU C API.">U_CDECL_END</a></div> <div class="line"><a name="l01597"></a><span class="lineno"> 1597</span> </div> <div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> </div> <div class="line"><a name="l01599"></a><span class="lineno"> 1599</span> </div> <div class="line"><a name="l01600"></a><span class="lineno"> 1600</span> <span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 4 2013 14:10:22 for ICU 52.1 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.2 </small></address> </body> </html>