Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > f51238514e2abe817779ad2fe01b0759 > files > 747

icu-doc-4.4-2.1mdv2010.2.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>ICU 4.4: unistr.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Search" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<h1>unistr.h</h1><a href="unistr_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">**********************************************************************</span>
<a name="l00003"></a>00003 <span class="comment">*   Copyright (C) 1998-2010, International Business Machines</span>
<a name="l00004"></a>00004 <span class="comment">*   Corporation and others.  All Rights Reserved.</span>
<a name="l00005"></a>00005 <span class="comment">**********************************************************************</span>
<a name="l00006"></a>00006 <span class="comment">*</span>
<a name="l00007"></a>00007 <span class="comment">* File unistr.h</span>
<a name="l00008"></a>00008 <span class="comment">*</span>
<a name="l00009"></a>00009 <span class="comment">* Modification History:</span>
<a name="l00010"></a>00010 <span class="comment">*</span>
<a name="l00011"></a>00011 <span class="comment">*   Date        Name        Description</span>
<a name="l00012"></a>00012 <span class="comment">*   09/25/98    stephen     Creation.</span>
<a name="l00013"></a>00013 <span class="comment">*   11/11/98    stephen     Changed per 11/9 code review.</span>
<a name="l00014"></a>00014 <span class="comment">*   04/20/99    stephen     Overhauled per 4/16 code review.</span>
<a name="l00015"></a>00015 <span class="comment">*   11/18/99    aliu        Made to inherit from Replaceable.  Added method</span>
<a name="l00016"></a>00016 <span class="comment">*                           handleReplaceBetween(); other methods unchanged.</span>
<a name="l00017"></a>00017 <span class="comment">*   06/25/01    grhoten     Remove dependency on iostream.</span>
<a name="l00018"></a>00018 <span class="comment">******************************************************************************</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef UNISTR_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define UNISTR_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>&quot;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="rep_8h.html" title="C++ API: Replaceable String.">unicode/rep.h</a>&quot;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="std__string_8h.html" title="C++ API: Central ICU header for including the C++ standard &amp;lt;string&amp;gt; header...">unicode/std_string.h</a>&quot;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="stringpiece_8h.html" title="C++ API: StringPiece: Read-only byte string wrapper class.">unicode/stringpiece.h</a>&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="bytestream_8h.html" title="C++ API: Interface for writing bytes, and implementation classes.">unicode/bytestream.h</a>&quot;</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 <span class="keyword">struct </span><a class="code" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a>;          <span class="comment">// unicode/ucnv.h</span>
<a name="l00036"></a>00036 <span class="keyword">class  </span>StringThreadTest;
<a name="l00037"></a>00037 
<a name="l00038"></a>00038 <span class="preprocessor">#ifndef U_COMPARE_CODE_POINT_ORDER</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span><span class="comment">/* see also ustring.h and unorm.h */</span>
<a name="l00045"></a><a class="code" href="unistr_8h.html#a7fd781b068b28ee2db708090aa32df8f">00045</a> <span class="preprocessor">#define U_COMPARE_CODE_POINT_ORDER  0x8000</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span>
<a name="l00048"></a>00048 <span class="preprocessor">#ifndef USTRING_H</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span>
<a name="l00052"></a>00052 <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 <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a>
<a name="l00053"></a>00053 <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5" title="Determine the length of an array of UChar.">u_strlen</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *s);
<a name="l00054"></a>00054 <span class="preprocessor">#endif</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span>
<a name="l00056"></a>00056 <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>
<a name="l00057"></a>00057 
<a name="l00058"></a>00058 <span class="keyword">class </span><a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region...">Locale</a>;               <span class="comment">// unicode/locid.h</span>
<a name="l00059"></a>00059 <span class="keyword">class </span><a class="code" href="classStringCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code...">StringCharacterIterator</a>;
<a name="l00060"></a>00060 <span class="keyword">class </span><a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a>;        <span class="comment">// unicode/brkiter.h</span>
<a name="l00061"></a>00061 
<a name="l00062"></a>00062 <span class="comment">/* The &lt;iostream&gt; include has been moved to unicode/ustream.h */</span>
<a name="l00063"></a>00063 
<a name="l00074"></a><a class="code" href="unistr_8h.html#a308c066384b8560030fb3482bcb13381">00074</a> <span class="preprocessor">#define US_INV U_NAMESPACE_QUALIFIER UnicodeString::kInvariant</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span>
<a name="l00093"></a>00093 <span class="preprocessor">#if defined(U_DECLARE_UTF16)</span>
<a name="l00094"></a><a class="code" href="unistr_8h.html#aeab1ff09f666cf5fce35fc88cf37d714">00094</a> <span class="preprocessor"></span><span class="preprocessor">#   define UNICODE_STRING(cs, _length) U_NAMESPACE_QUALIFIER UnicodeString(TRUE, (const UChar *)U_DECLARE_UTF16(cs), _length)</span>
<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="preprocessor">#elif U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR &amp;&amp; (U_CHARSET_FAMILY==U_ASCII_FAMILY || (U_SIZEOF_UCHAR == 2 &amp;&amp; defined(U_WCHAR_IS_UTF16)))</span>
<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor">#   define UNICODE_STRING(cs, _length) U_NAMESPACE_QUALIFIER UnicodeString(TRUE, (const UChar *)L ## cs, _length)</span>
<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor">#elif U_SIZEOF_UCHAR==1 &amp;&amp; U_CHARSET_FAMILY==U_ASCII_FAMILY</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#   define UNICODE_STRING(cs, _length) U_NAMESPACE_QUALIFIER UnicodeString(TRUE, (const UChar *)cs, _length)</span>
<a name="l00099"></a>00099 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="preprocessor">#   define UNICODE_STRING(cs, _length) U_NAMESPACE_QUALIFIER UnicodeString(cs, _length, US_INV)</span>
<a name="l00101"></a>00101 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00102"></a>00102 <span class="preprocessor"></span>
<a name="l00116"></a><a class="code" href="unistr_8h.html#a6cd56429cbf4fe567a97c9d1a46e96ae">00116</a> <span class="preprocessor">#define UNICODE_STRING_SIMPLE(cs) UNICODE_STRING(cs, -1)</span>
<a name="l00117"></a>00117 <span class="preprocessor"></span>
<a name="l00187"></a><a class="code" href="classUnicodeString.html">00187</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334" title="Set to export library symbols from inside the common library, and to import them...">U_COMMON_API</a> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> : <span class="keyword">public</span> <a class="code" href="classReplaceable.html" title="Replaceable is an abstract base class representing a string of characters that supports...">Replaceable</a>
<a name="l00188"></a>00188 {
<a name="l00189"></a>00189 <span class="keyword">public</span>:
<a name="l00190"></a>00190 
<a name="l00199"></a><a class="code" href="classUnicodeString.html#a7ffe265551a9bf6ea0e4c0cb508cea8a">00199</a>   <span class="keyword">enum</span> <a class="code" href="classUnicodeString.html#a7ffe265551a9bf6ea0e4c0cb508cea8a" title="Constant to be used in the UnicodeString(char *, int32_t, EInvariant) constructor...">EInvariant</a> {
<a name="l00204"></a><a class="code" href="classUnicodeString.html#a7ffe265551a9bf6ea0e4c0cb508cea8aaf60977cf9e4fde77211e7828f0d2ec5b">00204</a>     kInvariant
<a name="l00205"></a>00205   };
<a name="l00206"></a>00206 
<a name="l00207"></a>00207   <span class="comment">//========================================</span>
<a name="l00208"></a>00208   <span class="comment">// Read-only operations</span>
<a name="l00209"></a>00209   <span class="comment">//========================================</span>
<a name="l00210"></a>00210 
<a name="l00211"></a>00211   <span class="comment">/* Comparison - bitwise only - for international comparison use collation */</span>
<a name="l00212"></a>00212 
<a name="l00220"></a>00220   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator== </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00221"></a>00221 
<a name="l00229"></a>00229   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="stringpiece_8h.html#abf0ccab9536bab551afc07de65eb5d95" title="Global operator != for StringPiece.">operator!= </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00230"></a>00230 
<a name="l00238"></a>00238   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> operator&gt; (<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00239"></a>00239 
<a name="l00247"></a>00247   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> operator&lt; (<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00248"></a>00248 
<a name="l00256"></a>00256   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> operator&gt;= (<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00257"></a>00257 
<a name="l00265"></a>00265   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> operator&lt;= (<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00266"></a>00266 
<a name="l00278"></a>00278   <span class="keyword">inline</span> int8_t compare(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00279"></a>00279 
<a name="l00294"></a>00294   <span class="keyword">inline</span> int8_t compare(int32_t start,
<a name="l00295"></a>00295          int32_t length,
<a name="l00296"></a>00296          <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00297"></a>00297 
<a name="l00315"></a>00315    <span class="keyword">inline</span> int8_t compare(int32_t start,
<a name="l00316"></a>00316          int32_t length,
<a name="l00317"></a>00317          <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00318"></a>00318          int32_t srcStart,
<a name="l00319"></a>00319          int32_t srcLength) <span class="keyword">const</span>;
<a name="l00320"></a>00320 
<a name="l00333"></a>00333   <span class="keyword">inline</span> int8_t compare(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00334"></a>00334          int32_t srcLength) <span class="keyword">const</span>;
<a name="l00335"></a>00335 
<a name="l00350"></a>00350   <span class="keyword">inline</span> int8_t compare(int32_t start,
<a name="l00351"></a>00351          int32_t length,
<a name="l00352"></a>00352          <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars) <span class="keyword">const</span>;
<a name="l00353"></a>00353 
<a name="l00371"></a>00371   <span class="keyword">inline</span> int8_t compare(int32_t start,
<a name="l00372"></a>00372          int32_t length,
<a name="l00373"></a>00373          <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00374"></a>00374          int32_t srcStart,
<a name="l00375"></a>00375          int32_t srcLength) <span class="keyword">const</span>;
<a name="l00376"></a>00376 
<a name="l00394"></a>00394   <span class="keyword">inline</span> int8_t compareBetween(int32_t start,
<a name="l00395"></a>00395             int32_t limit,
<a name="l00396"></a>00396             <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00397"></a>00397             int32_t srcStart,
<a name="l00398"></a>00398             int32_t srcLimit) <span class="keyword">const</span>;
<a name="l00399"></a>00399 
<a name="l00417"></a>00417   <span class="keyword">inline</span> int8_t compareCodePointOrder(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00418"></a>00418 
<a name="l00438"></a>00438   <span class="keyword">inline</span> int8_t compareCodePointOrder(int32_t start,
<a name="l00439"></a>00439                                       int32_t length,
<a name="l00440"></a>00440                                       <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText) <span class="keyword">const</span>;
<a name="l00441"></a>00441 
<a name="l00463"></a>00463    <span class="keyword">inline</span> int8_t compareCodePointOrder(int32_t start,
<a name="l00464"></a>00464                                        int32_t length,
<a name="l00465"></a>00465                                        <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00466"></a>00466                                        int32_t srcStart,
<a name="l00467"></a>00467                                        int32_t srcLength) <span class="keyword">const</span>;
<a name="l00468"></a>00468 
<a name="l00487"></a>00487   <span class="keyword">inline</span> int8_t compareCodePointOrder(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00488"></a>00488                                       int32_t srcLength) <span class="keyword">const</span>;
<a name="l00489"></a>00489 
<a name="l00509"></a>00509   <span class="keyword">inline</span> int8_t compareCodePointOrder(int32_t start,
<a name="l00510"></a>00510                                       int32_t length,
<a name="l00511"></a>00511                                       <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars) <span class="keyword">const</span>;
<a name="l00512"></a>00512 
<a name="l00534"></a>00534   <span class="keyword">inline</span> int8_t compareCodePointOrder(int32_t start,
<a name="l00535"></a>00535                                       int32_t length,
<a name="l00536"></a>00536                                       <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00537"></a>00537                                       int32_t srcStart,
<a name="l00538"></a>00538                                       int32_t srcLength) <span class="keyword">const</span>;
<a name="l00539"></a>00539 
<a name="l00561"></a>00561   <span class="keyword">inline</span> int8_t compareCodePointOrderBetween(int32_t start,
<a name="l00562"></a>00562                                              int32_t limit,
<a name="l00563"></a>00563                                              <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00564"></a>00564                                              int32_t srcStart,
<a name="l00565"></a>00565                                              int32_t srcLimit) <span class="keyword">const</span>;
<a name="l00566"></a>00566 
<a name="l00585"></a>00585   <span class="keyword">inline</span> int8_t caseCompare(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text, uint32_t options) <span class="keyword">const</span>;
<a name="l00586"></a>00586 
<a name="l00607"></a>00607   <span class="keyword">inline</span> int8_t caseCompare(int32_t start,
<a name="l00608"></a>00608          int32_t length,
<a name="l00609"></a>00609          <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00610"></a>00610          uint32_t options) <span class="keyword">const</span>;
<a name="l00611"></a>00611 
<a name="l00634"></a>00634   <span class="keyword">inline</span> int8_t caseCompare(int32_t start,
<a name="l00635"></a>00635          int32_t length,
<a name="l00636"></a>00636          <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00637"></a>00637          int32_t srcStart,
<a name="l00638"></a>00638          int32_t srcLength,
<a name="l00639"></a>00639          uint32_t options) <span class="keyword">const</span>;
<a name="l00640"></a>00640 
<a name="l00660"></a>00660   <span class="keyword">inline</span> int8_t caseCompare(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00661"></a>00661          int32_t srcLength,
<a name="l00662"></a>00662          uint32_t options) <span class="keyword">const</span>;
<a name="l00663"></a>00663 
<a name="l00684"></a>00684   <span class="keyword">inline</span> int8_t caseCompare(int32_t start,
<a name="l00685"></a>00685          int32_t length,
<a name="l00686"></a>00686          <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00687"></a>00687          uint32_t options) <span class="keyword">const</span>;
<a name="l00688"></a>00688 
<a name="l00711"></a>00711   <span class="keyword">inline</span> int8_t caseCompare(int32_t start,
<a name="l00712"></a>00712          int32_t length,
<a name="l00713"></a>00713          <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00714"></a>00714          int32_t srcStart,
<a name="l00715"></a>00715          int32_t srcLength,
<a name="l00716"></a>00716          uint32_t options) <span class="keyword">const</span>;
<a name="l00717"></a>00717 
<a name="l00740"></a>00740   <span class="keyword">inline</span> int8_t caseCompareBetween(int32_t start,
<a name="l00741"></a>00741             int32_t limit,
<a name="l00742"></a>00742             <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00743"></a>00743             int32_t srcStart,
<a name="l00744"></a>00744             int32_t srcLimit,
<a name="l00745"></a>00745             uint32_t options) <span class="keyword">const</span>;
<a name="l00746"></a>00746 
<a name="l00754"></a>00754   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> startsWith(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00755"></a>00755 
<a name="l00766"></a>00766   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> startsWith(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00767"></a>00767             int32_t srcStart,
<a name="l00768"></a>00768             int32_t srcLength) <span class="keyword">const</span>;
<a name="l00769"></a>00769 
<a name="l00778"></a>00778   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> startsWith(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00779"></a>00779             int32_t srcLength) <span class="keyword">const</span>;
<a name="l00780"></a>00780 
<a name="l00790"></a>00790   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> startsWith(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00791"></a>00791             int32_t srcStart,
<a name="l00792"></a>00792             int32_t srcLength) <span class="keyword">const</span>;
<a name="l00793"></a>00793 
<a name="l00801"></a>00801   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> endsWith(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00802"></a>00802 
<a name="l00813"></a>00813   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> endsWith(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00814"></a>00814           int32_t srcStart,
<a name="l00815"></a>00815           int32_t srcLength) <span class="keyword">const</span>;
<a name="l00816"></a>00816 
<a name="l00825"></a>00825   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> endsWith(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00826"></a>00826           int32_t srcLength) <span class="keyword">const</span>;
<a name="l00827"></a>00827 
<a name="l00838"></a>00838   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> endsWith(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00839"></a>00839           int32_t srcStart,
<a name="l00840"></a>00840           int32_t srcLength) <span class="keyword">const</span>;
<a name="l00841"></a>00841 
<a name="l00842"></a>00842 
<a name="l00843"></a>00843   <span class="comment">/* Searching - bitwise only */</span>
<a name="l00844"></a>00844 
<a name="l00853"></a>00853   <span class="keyword">inline</span> int32_t indexOf(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l00854"></a>00854 
<a name="l00864"></a>00864   <span class="keyword">inline</span> int32_t indexOf(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text,
<a name="l00865"></a>00865               int32_t start) <span class="keyword">const</span>;
<a name="l00866"></a>00866 
<a name="l00878"></a>00878   <span class="keyword">inline</span> int32_t indexOf(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text,
<a name="l00879"></a>00879               int32_t start,
<a name="l00880"></a>00880               int32_t length) <span class="keyword">const</span>;
<a name="l00881"></a>00881 
<a name="l00898"></a>00898   <span class="keyword">inline</span> int32_t indexOf(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l00899"></a>00899               int32_t srcStart,
<a name="l00900"></a>00900               int32_t srcLength,
<a name="l00901"></a>00901               int32_t start,
<a name="l00902"></a>00902               int32_t length) <span class="keyword">const</span>;
<a name="l00903"></a>00903 
<a name="l00915"></a>00915   <span class="keyword">inline</span> int32_t indexOf(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00916"></a>00916               int32_t srcLength,
<a name="l00917"></a>00917               int32_t start) <span class="keyword">const</span>;
<a name="l00918"></a>00918 
<a name="l00931"></a>00931   <span class="keyword">inline</span> int32_t indexOf(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00932"></a>00932               int32_t srcLength,
<a name="l00933"></a>00933               int32_t start,
<a name="l00934"></a>00934               int32_t length) <span class="keyword">const</span>;
<a name="l00935"></a>00935 
<a name="l00952"></a>00952   int32_t indexOf(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l00953"></a>00953               int32_t srcStart,
<a name="l00954"></a>00954               int32_t srcLength,
<a name="l00955"></a>00955               int32_t start,
<a name="l00956"></a>00956               int32_t length) <span class="keyword">const</span>;
<a name="l00957"></a>00957 
<a name="l00965"></a>00965   <span class="keyword">inline</span> int32_t indexOf(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c) <span class="keyword">const</span>;
<a name="l00966"></a>00966 
<a name="l00975"></a>00975   <span class="keyword">inline</span> int32_t indexOf(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c) <span class="keyword">const</span>;
<a name="l00976"></a>00976 
<a name="l00985"></a>00985   <span class="keyword">inline</span> int32_t indexOf(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l00986"></a>00986               int32_t start) <span class="keyword">const</span>;
<a name="l00987"></a>00987 
<a name="l00997"></a>00997   <span class="keyword">inline</span> int32_t indexOf(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l00998"></a>00998               int32_t start) <span class="keyword">const</span>;
<a name="l00999"></a>00999 
<a name="l01010"></a>01010   <span class="keyword">inline</span> int32_t indexOf(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l01011"></a>01011               int32_t start,
<a name="l01012"></a>01012               int32_t length) <span class="keyword">const</span>;
<a name="l01013"></a>01013 
<a name="l01025"></a>01025   <span class="keyword">inline</span> int32_t indexOf(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l01026"></a>01026               int32_t start,
<a name="l01027"></a>01027               int32_t length) <span class="keyword">const</span>;
<a name="l01028"></a>01028 
<a name="l01037"></a>01037   <span class="keyword">inline</span> int32_t lastIndexOf(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text) <span class="keyword">const</span>;
<a name="l01038"></a>01038 
<a name="l01048"></a>01048   <span class="keyword">inline</span> int32_t lastIndexOf(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text,
<a name="l01049"></a>01049               int32_t start) <span class="keyword">const</span>;
<a name="l01050"></a>01050 
<a name="l01062"></a>01062   <span class="keyword">inline</span> int32_t lastIndexOf(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text,
<a name="l01063"></a>01063               int32_t start,
<a name="l01064"></a>01064               int32_t length) <span class="keyword">const</span>;
<a name="l01065"></a>01065 
<a name="l01082"></a>01082   <span class="keyword">inline</span> int32_t lastIndexOf(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l01083"></a>01083               int32_t srcStart,
<a name="l01084"></a>01084               int32_t srcLength,
<a name="l01085"></a>01085               int32_t start,
<a name="l01086"></a>01086               int32_t length) <span class="keyword">const</span>;
<a name="l01087"></a>01087 
<a name="l01098"></a>01098   <span class="keyword">inline</span> int32_t lastIndexOf(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l01099"></a>01099               int32_t srcLength,
<a name="l01100"></a>01100               int32_t start) <span class="keyword">const</span>;
<a name="l01101"></a>01101 
<a name="l01114"></a>01114   <span class="keyword">inline</span> int32_t lastIndexOf(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l01115"></a>01115               int32_t srcLength,
<a name="l01116"></a>01116               int32_t start,
<a name="l01117"></a>01117               int32_t length) <span class="keyword">const</span>;
<a name="l01118"></a>01118 
<a name="l01135"></a>01135   int32_t lastIndexOf(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l01136"></a>01136               int32_t srcStart,
<a name="l01137"></a>01137               int32_t srcLength,
<a name="l01138"></a>01138               int32_t start,
<a name="l01139"></a>01139               int32_t length) <span class="keyword">const</span>;
<a name="l01140"></a>01140 
<a name="l01148"></a>01148   <span class="keyword">inline</span> int32_t lastIndexOf(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c) <span class="keyword">const</span>;
<a name="l01149"></a>01149 
<a name="l01158"></a>01158   <span class="keyword">inline</span> int32_t lastIndexOf(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c) <span class="keyword">const</span>;
<a name="l01159"></a>01159 
<a name="l01168"></a>01168   <span class="keyword">inline</span> int32_t lastIndexOf(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l01169"></a>01169               int32_t start) <span class="keyword">const</span>;
<a name="l01170"></a>01170 
<a name="l01180"></a>01180   <span class="keyword">inline</span> int32_t lastIndexOf(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l01181"></a>01181               int32_t start) <span class="keyword">const</span>;
<a name="l01182"></a>01182 
<a name="l01193"></a>01193   <span class="keyword">inline</span> int32_t lastIndexOf(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l01194"></a>01194               int32_t start,
<a name="l01195"></a>01195               int32_t length) <span class="keyword">const</span>;
<a name="l01196"></a>01196 
<a name="l01208"></a>01208   <span class="keyword">inline</span> int32_t lastIndexOf(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l01209"></a>01209               int32_t start,
<a name="l01210"></a>01210               int32_t length) <span class="keyword">const</span>;
<a name="l01211"></a>01211 
<a name="l01212"></a>01212 
<a name="l01213"></a>01213   <span class="comment">/* Character access */</span>
<a name="l01214"></a>01214 
<a name="l01223"></a>01223   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> <a class="code" href="classReplaceable.html#a78909dd61599c6f2d8af7a9d3bf5dd0f" title="Returns the 16-bit code unit at the given offset into the text.">charAt</a>(int32_t offset) <span class="keyword">const</span>;
<a name="l01224"></a>01224 
<a name="l01232"></a>01232   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> operator[] (int32_t offset) <span class="keyword">const</span>;
<a name="l01233"></a>01233 
<a name="l01245"></a>01245   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> <a class="code" href="classReplaceable.html#ac7e972cbbe070b5fb1d0f824d2badb2c" title="Returns the 32-bit code point at the given 16-bit offset into the text.">char32At</a>(int32_t offset) <span class="keyword">const</span>;
<a name="l01246"></a>01246 
<a name="l01262"></a>01262   <span class="keyword">inline</span> int32_t getChar32Start(int32_t offset) <span class="keyword">const</span>;
<a name="l01263"></a>01263 
<a name="l01280"></a>01280   <span class="keyword">inline</span> int32_t getChar32Limit(int32_t offset) <span class="keyword">const</span>;
<a name="l01281"></a>01281 
<a name="l01332"></a>01332   int32_t moveIndex32(int32_t index, int32_t delta) <span class="keyword">const</span>;
<a name="l01333"></a>01333 
<a name="l01334"></a>01334   <span class="comment">/* Substring extraction */</span>
<a name="l01335"></a>01335 
<a name="l01351"></a>01351   <span class="keyword">inline</span> <span class="keywordtype">void</span> extract(int32_t start,
<a name="l01352"></a>01352            int32_t length,
<a name="l01353"></a>01353            <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *dst,
<a name="l01354"></a>01354            int32_t dstStart = 0) <span class="keyword">const</span>;
<a name="l01355"></a>01355 
<a name="l01377"></a>01377   int32_t
<a name="l01378"></a>01378   extract(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *dest, int32_t destCapacity,
<a name="l01379"></a>01379           <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;errorCode) <span class="keyword">const</span>;
<a name="l01380"></a>01380 
<a name="l01391"></a>01391   <span class="keyword">inline</span> <span class="keywordtype">void</span> extract(int32_t start,
<a name="l01392"></a>01392            int32_t length,
<a name="l01393"></a>01393            <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; target) <span class="keyword">const</span>;
<a name="l01394"></a>01394 
<a name="l01406"></a>01406   <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classReplaceable.html#abdf76adaff91c3310a70ae4297734bf4" title="Copies characters in the range [start, limit) into the UnicodeString target.">extractBetween</a>(int32_t start,
<a name="l01407"></a>01407               int32_t limit,
<a name="l01408"></a>01408               <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *dst,
<a name="l01409"></a>01409               int32_t dstStart = 0) <span class="keyword">const</span>;
<a name="l01410"></a>01410 
<a name="l01420"></a>01420   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classReplaceable.html#abdf76adaff91c3310a70ae4297734bf4" title="Copies characters in the range [start, limit) into the UnicodeString target.">extractBetween</a>(int32_t start,
<a name="l01421"></a>01421               int32_t limit,
<a name="l01422"></a>01422               <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; target) <span class="keyword">const</span>;
<a name="l01423"></a>01423 
<a name="l01445"></a>01445   int32_t extract(int32_t start,
<a name="l01446"></a>01446            int32_t startLength,
<a name="l01447"></a>01447            <span class="keywordtype">char</span> *target,
<a name="l01448"></a>01448            int32_t targetCapacity,
<a name="l01449"></a>01449            <span class="keyword">enum</span> EInvariant inv) <span class="keyword">const</span>;
<a name="l01450"></a>01450 
<a name="l01451"></a>01451 <span class="preprocessor">#if U_CHARSET_IS_UTF8 || !UCONFIG_NO_CONVERSION</span>
<a name="l01452"></a>01452 <span class="preprocessor"></span>
<a name="l01472"></a>01472   int32_t extract(int32_t start,
<a name="l01473"></a>01473            int32_t startLength,
<a name="l01474"></a>01474            <span class="keywordtype">char</span> *target,
<a name="l01475"></a>01475            uint32_t targetLength) <span class="keyword">const</span>;
<a name="l01476"></a>01476 
<a name="l01477"></a>01477 <span class="preprocessor">#endif</span>
<a name="l01478"></a>01478 <span class="preprocessor"></span>
<a name="l01479"></a>01479 <span class="preprocessor">#if !UCONFIG_NO_CONVERSION</span>
<a name="l01480"></a>01480 <span class="preprocessor"></span>
<a name="l01506"></a>01506   <span class="keyword">inline</span> int32_t extract(int32_t start,
<a name="l01507"></a>01507                  int32_t startLength,
<a name="l01508"></a>01508                  <span class="keywordtype">char</span> *target,
<a name="l01509"></a>01509                  <span class="keyword">const</span> <span class="keywordtype">char</span> *codepage = 0) <span class="keyword">const</span>;
<a name="l01510"></a>01510 
<a name="l01540"></a>01540   int32_t extract(int32_t start,
<a name="l01541"></a>01541            int32_t startLength,
<a name="l01542"></a>01542            <span class="keywordtype">char</span> *target,
<a name="l01543"></a>01543            uint32_t targetLength,
<a name="l01544"></a>01544            <span class="keyword">const</span> <span class="keywordtype">char</span> *codepage) <span class="keyword">const</span>;
<a name="l01545"></a>01545 
<a name="l01563"></a>01563   int32_t extract(<span class="keywordtype">char</span> *dest, int32_t destCapacity,
<a name="l01564"></a>01564                   <a class="code" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a> *cnv,
<a name="l01565"></a>01565                   <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;errorCode) <span class="keyword">const</span>;
<a name="l01566"></a>01566 
<a name="l01567"></a>01567 <span class="preprocessor">#endif</span>
<a name="l01568"></a>01568 <span class="preprocessor"></span>
<a name="l01582"></a>01582   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> tempSubString(int32_t start=0, int32_t length=<a class="code" href="umachine_8h.html#a181807730d4a375f848ba139813ce04f" title="The largest value a 32 bit signed integer can hold.">INT32_MAX</a>) <span class="keyword">const</span>;
<a name="l01583"></a>01583 
<a name="l01594"></a>01594   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> tempSubStringBetween(int32_t start, int32_t limit=<a class="code" href="umachine_8h.html#a181807730d4a375f848ba139813ce04f" title="The largest value a 32 bit signed integer can hold.">INT32_MAX</a>) <span class="keyword">const</span>;
<a name="l01595"></a>01595 
<a name="l01606"></a>01606   <span class="keywordtype">void</span> toUTF8(<a class="code" href="classByteSink.html" title="A ByteSink can be filled with bytes.">ByteSink</a> &amp;sink) <span class="keyword">const</span>;
<a name="l01607"></a>01607 
<a name="l01608"></a>01608 <span class="preprocessor">#if U_HAVE_STD_STRING</span>
<a name="l01609"></a>01609 <span class="preprocessor"></span>
<a name="l01622"></a>01622   <span class="keyword">template</span>&lt;<span class="keyword">typename</span> StringClass&gt;
<a name="l01623"></a><a class="code" href="classUnicodeString.html#ae8dbe5f2578a1d7b8741491076f2fbe9">01623</a>   StringClass &amp;<a class="code" href="classUnicodeString.html#ae8dbe5f2578a1d7b8741491076f2fbe9" title="Convert the UnicodeString to UTF-8 and append the result to a standard string.">toUTF8String</a>(StringClass &amp;result)<span class="keyword"> const </span>{
<a name="l01624"></a>01624     <a class="code" href="classStringByteSink.html" title="Implementation of ByteSink that writes to a &amp;quot;string&amp;quot;.">StringByteSink&lt;StringClass&gt;</a> sbs(&amp;result);
<a name="l01625"></a>01625     toUTF8(sbs);
<a name="l01626"></a>01626     <span class="keywordflow">return</span> result;
<a name="l01627"></a>01627   }
<a name="l01628"></a>01628 
<a name="l01629"></a>01629 <span class="preprocessor">#endif</span>
<a name="l01630"></a>01630 <span class="preprocessor"></span>
<a name="l01646"></a>01646   int32_t toUTF32(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> *utf32, int32_t capacity, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;errorCode) <span class="keyword">const</span>;
<a name="l01647"></a>01647 
<a name="l01648"></a>01648   <span class="comment">/* Length operations */</span>
<a name="l01649"></a>01649 
<a name="l01658"></a>01658   <span class="keyword">inline</span> int32_t <a class="code" href="classReplaceable.html#a81c2af838cfaf3c2a0d46b7fa727e8d0" title="Returns the number of 16-bit code units in the text.">length</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l01659"></a>01659 
<a name="l01673"></a>01673   int32_t
<a name="l01674"></a>01674   countChar32(int32_t start=0, int32_t length=<a class="code" href="umachine_8h.html#a181807730d4a375f848ba139813ce04f" title="The largest value a 32 bit signed integer can hold.">INT32_MAX</a>) <span class="keyword">const</span>;
<a name="l01675"></a>01675 
<a name="l01699"></a>01699   <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l01700"></a>01700   hasMoreChar32Than(int32_t start, int32_t length, int32_t number) <span class="keyword">const</span>;
<a name="l01701"></a>01701 
<a name="l01707"></a>01707   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isEmpty(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l01708"></a>01708 
<a name="l01718"></a>01718   <span class="keyword">inline</span> int32_t getCapacity(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l01719"></a>01719 
<a name="l01720"></a>01720   <span class="comment">/* Other operations */</span>
<a name="l01721"></a>01721 
<a name="l01727"></a>01727   <span class="keyword">inline</span> int32_t hashCode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l01728"></a>01728 
<a name="l01741"></a>01741   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isBogus(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l01742"></a>01742 
<a name="l01743"></a>01743 
<a name="l01744"></a>01744   <span class="comment">//========================================</span>
<a name="l01745"></a>01745   <span class="comment">// Write operations</span>
<a name="l01746"></a>01746   <span class="comment">//========================================</span>
<a name="l01747"></a>01747 
<a name="l01748"></a>01748   <span class="comment">/* Assignment operations */</span>
<a name="l01749"></a>01749 
<a name="l01757"></a>01757   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;srcText);
<a name="l01758"></a>01758 
<a name="l01779"></a>01779   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;fastCopyFrom(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;src);
<a name="l01780"></a>01780 
<a name="l01788"></a>01788   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; operator= (<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> ch);
<a name="l01789"></a>01789 
<a name="l01797"></a>01797   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; operator= (<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> ch);
<a name="l01798"></a>01798 
<a name="l01810"></a>01810   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; setTo(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l01811"></a>01811                int32_t srcStart);
<a name="l01812"></a>01812 
<a name="l01826"></a>01826   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; setTo(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l01827"></a>01827                int32_t srcStart,
<a name="l01828"></a>01828                int32_t srcLength);
<a name="l01829"></a>01829 
<a name="l01838"></a>01838   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; setTo(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText);
<a name="l01839"></a>01839 
<a name="l01848"></a>01848   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; setTo(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l01849"></a>01849                int32_t srcLength);
<a name="l01850"></a>01850 
<a name="l01859"></a>01859   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; setTo(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> srcChar);
<a name="l01860"></a>01860 
<a name="l01869"></a>01869   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; setTo(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> srcChar);
<a name="l01870"></a>01870 
<a name="l01891"></a>01891   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;setTo(<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isTerminated,
<a name="l01892"></a>01892                        <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *text,
<a name="l01893"></a>01893                        int32_t textLength);
<a name="l01894"></a>01894 
<a name="l01914"></a>01914   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;setTo(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *buffer,
<a name="l01915"></a>01915                        int32_t buffLength,
<a name="l01916"></a>01916                        int32_t buffCapacity);
<a name="l01917"></a>01917 
<a name="l01958"></a>01958   <span class="keywordtype">void</span> setToBogus();
<a name="l01959"></a>01959 
<a name="l01967"></a>01967   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; setCharAt(int32_t offset,
<a name="l01968"></a>01968                <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> ch);
<a name="l01969"></a>01969 
<a name="l01970"></a>01970 
<a name="l01971"></a>01971   <span class="comment">/* Append operations */</span>
<a name="l01972"></a>01972 
<a name="l01980"></a>01980  <span class="keyword">inline</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; operator+= (<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> ch);
<a name="l01981"></a>01981 
<a name="l01989"></a>01989  <span class="keyword">inline</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; operator+= (<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> ch);
<a name="l01990"></a>01990 
<a name="l01999"></a>01999   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; operator+= (<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText);
<a name="l02000"></a>02000 
<a name="l02015"></a>02015   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; append(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l02016"></a>02016             int32_t srcStart,
<a name="l02017"></a>02017             int32_t srcLength);
<a name="l02018"></a>02018 
<a name="l02026"></a>02026   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; append(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText);
<a name="l02027"></a>02027 
<a name="l02041"></a>02041   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; append(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l02042"></a>02042             int32_t srcStart,
<a name="l02043"></a>02043             int32_t srcLength);
<a name="l02044"></a>02044 
<a name="l02053"></a>02053   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; append(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l02054"></a>02054             int32_t srcLength);
<a name="l02055"></a>02055 
<a name="l02062"></a>02062   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; append(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> srcChar);
<a name="l02063"></a>02063 
<a name="l02070"></a>02070   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; append(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> srcChar);
<a name="l02071"></a>02071 
<a name="l02072"></a>02072 
<a name="l02073"></a>02073   <span class="comment">/* Insert operations */</span>
<a name="l02074"></a>02074 
<a name="l02088"></a>02088   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; insert(int32_t start,
<a name="l02089"></a>02089             <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l02090"></a>02090             int32_t srcStart,
<a name="l02091"></a>02091             int32_t srcLength);
<a name="l02092"></a>02092 
<a name="l02101"></a>02101   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; insert(int32_t start,
<a name="l02102"></a>02102             <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText);
<a name="l02103"></a>02103 
<a name="l02117"></a>02117   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; insert(int32_t start,
<a name="l02118"></a>02118             <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l02119"></a>02119             int32_t srcStart,
<a name="l02120"></a>02120             int32_t srcLength);
<a name="l02121"></a>02121 
<a name="l02131"></a>02131   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; insert(int32_t start,
<a name="l02132"></a>02132             <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l02133"></a>02133             int32_t srcLength);
<a name="l02134"></a>02134 
<a name="l02143"></a>02143   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; insert(int32_t start,
<a name="l02144"></a>02144             <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> srcChar);
<a name="l02145"></a>02145 
<a name="l02154"></a>02154   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; insert(int32_t start,
<a name="l02155"></a>02155             <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> srcChar);
<a name="l02156"></a>02156 
<a name="l02157"></a>02157 
<a name="l02158"></a>02158   <span class="comment">/* Replace operations */</span>
<a name="l02159"></a>02159 
<a name="l02177"></a>02177   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; replace(int32_t start,
<a name="l02178"></a>02178              int32_t length,
<a name="l02179"></a>02179              <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l02180"></a>02180              int32_t srcStart,
<a name="l02181"></a>02181              int32_t srcLength);
<a name="l02182"></a>02182 
<a name="l02195"></a>02195   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; replace(int32_t start,
<a name="l02196"></a>02196              int32_t length,
<a name="l02197"></a>02197              <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText);
<a name="l02198"></a>02198 
<a name="l02216"></a>02216   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; replace(int32_t start,
<a name="l02217"></a>02217              int32_t length,
<a name="l02218"></a>02218              <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l02219"></a>02219              int32_t srcStart,
<a name="l02220"></a>02220              int32_t srcLength);
<a name="l02221"></a>02221 
<a name="l02234"></a>02234   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; replace(int32_t start,
<a name="l02235"></a>02235              int32_t length,
<a name="l02236"></a>02236              <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l02237"></a>02237              int32_t srcLength);
<a name="l02238"></a>02238 
<a name="l02250"></a>02250   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; replace(int32_t start,
<a name="l02251"></a>02251              int32_t length,
<a name="l02252"></a>02252              <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> srcChar);
<a name="l02253"></a>02253 
<a name="l02265"></a>02265   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; replace(int32_t start,
<a name="l02266"></a>02266              int32_t length,
<a name="l02267"></a>02267              <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> srcChar);
<a name="l02268"></a>02268 
<a name="l02278"></a>02278   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; replaceBetween(int32_t start,
<a name="l02279"></a>02279                 int32_t limit,
<a name="l02280"></a>02280                 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText);
<a name="l02281"></a>02281 
<a name="l02296"></a>02296   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; replaceBetween(int32_t start,
<a name="l02297"></a>02297                 int32_t limit,
<a name="l02298"></a>02298                 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l02299"></a>02299                 int32_t srcStart,
<a name="l02300"></a>02300                 int32_t srcLimit);
<a name="l02301"></a>02301 
<a name="l02312"></a>02312   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classReplaceable.html#ae403fe2b8d99c4dd1081417d77ca1e99" title="Replaces a substring of this object with the given text.">handleReplaceBetween</a>(int32_t start,
<a name="l02313"></a>02313                                     int32_t limit,
<a name="l02314"></a>02314                                     <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text);
<a name="l02315"></a>02315 
<a name="l02321"></a>02321   <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classReplaceable.html#ad4ae052a7be93bb0a69a6a55ff45ca43" title="Returns true if this object contains metadata.">hasMetaData</a>() <span class="keyword">const</span>;
<a name="l02322"></a>02322 
<a name="l02338"></a>02338   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classReplaceable.html#aa99cf49af5401c5bc89cd6894c67e2e8" title="Copies a substring of this object, retaining metadata.">copy</a>(int32_t start, int32_t limit, int32_t dest);
<a name="l02339"></a>02339 
<a name="l02340"></a>02340   <span class="comment">/* Search and replace operations */</span>
<a name="l02341"></a>02341 
<a name="l02350"></a>02350   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; findAndReplace(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; oldText,
<a name="l02351"></a>02351                 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; newText);
<a name="l02352"></a>02352 
<a name="l02364"></a>02364   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; findAndReplace(int32_t start,
<a name="l02365"></a>02365                 int32_t length,
<a name="l02366"></a>02366                 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; oldText,
<a name="l02367"></a>02367                 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; newText);
<a name="l02368"></a>02368 
<a name="l02386"></a>02386   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; findAndReplace(int32_t start,
<a name="l02387"></a>02387                 int32_t length,
<a name="l02388"></a>02388                 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; oldText,
<a name="l02389"></a>02389                 int32_t oldStart,
<a name="l02390"></a>02390                 int32_t oldLength,
<a name="l02391"></a>02391                 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; newText,
<a name="l02392"></a>02392                 int32_t newStart,
<a name="l02393"></a>02393                 int32_t newLength);
<a name="l02394"></a>02394 
<a name="l02395"></a>02395 
<a name="l02396"></a>02396   <span class="comment">/* Remove operations */</span>
<a name="l02397"></a>02397 
<a name="l02403"></a>02403   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; <span class="keyword">remove</span>(void);
<a name="l02404"></a>02404 
<a name="l02413"></a>02413   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; <span class="keyword">remove</span>(int32_t start,
<a name="l02414"></a>02414                                int32_t length = (int32_t)<a class="code" href="umachine_8h.html#a181807730d4a375f848ba139813ce04f" title="The largest value a 32 bit signed integer can hold.">INT32_MAX</a>);
<a name="l02415"></a>02415 
<a name="l02424"></a>02424   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; removeBetween(int32_t start,
<a name="l02425"></a>02425                                       int32_t limit = (int32_t)<a class="code" href="umachine_8h.html#a181807730d4a375f848ba139813ce04f" title="The largest value a 32 bit signed integer can hold.">INT32_MAX</a>);
<a name="l02426"></a>02426 
<a name="l02436"></a>02436   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;retainBetween(int32_t start, int32_t limit = <a class="code" href="umachine_8h.html#a181807730d4a375f848ba139813ce04f" title="The largest value a 32 bit signed integer can hold.">INT32_MAX</a>);
<a name="l02437"></a>02437 
<a name="l02438"></a>02438   <span class="comment">/* Length operations */</span>
<a name="l02439"></a>02439 
<a name="l02451"></a>02451   <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> padLeading(int32_t targetLength,
<a name="l02452"></a>02452                     <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> padChar = 0x0020);
<a name="l02453"></a>02453 
<a name="l02465"></a>02465   <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> padTrailing(int32_t targetLength,
<a name="l02466"></a>02466                      <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> padChar = 0x0020);
<a name="l02467"></a>02467 
<a name="l02474"></a>02474   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> truncate(int32_t targetLength);
<a name="l02475"></a>02475 
<a name="l02481"></a>02481   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; trim(<span class="keywordtype">void</span>);
<a name="l02482"></a>02482 
<a name="l02483"></a>02483 
<a name="l02484"></a>02484   <span class="comment">/* Miscellaneous operations */</span>
<a name="l02485"></a>02485 
<a name="l02491"></a>02491   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; reverse(<span class="keywordtype">void</span>);
<a name="l02492"></a>02492 
<a name="l02501"></a>02501   <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; reverse(int32_t start,
<a name="l02502"></a>02502              int32_t length);
<a name="l02503"></a>02503 
<a name="l02510"></a>02510   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; toUpper(<span class="keywordtype">void</span>);
<a name="l02511"></a>02511 
<a name="l02519"></a>02519   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; toUpper(<span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region...">Locale</a>&amp; locale);
<a name="l02520"></a>02520 
<a name="l02527"></a>02527   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; toLower(<span class="keywordtype">void</span>);
<a name="l02528"></a>02528 
<a name="l02536"></a>02536   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; toLower(<span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region...">Locale</a>&amp; locale);
<a name="l02537"></a>02537 
<a name="l02538"></a>02538 <span class="preprocessor">#if !UCONFIG_NO_BREAK_ITERATION</span>
<a name="l02539"></a>02539 <span class="preprocessor"></span>
<a name="l02566"></a>02566   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;toTitle(<a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a> *titleIter);
<a name="l02567"></a>02567 
<a name="l02595"></a>02595   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;toTitle(<a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a> *titleIter, <span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region...">Locale</a> &amp;locale);
<a name="l02596"></a>02596 
<a name="l02628"></a>02628   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;toTitle(<a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a> *titleIter, <span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region...">Locale</a> &amp;locale, uint32_t options);
<a name="l02629"></a>02629 
<a name="l02630"></a>02630 <span class="preprocessor">#endif</span>
<a name="l02631"></a>02631 <span class="preprocessor"></span>
<a name="l02643"></a>02643   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;foldCase(uint32_t options=0 <span class="comment">/*U_FOLD_CASE_DEFAULT*/</span>);
<a name="l02644"></a>02644 
<a name="l02645"></a>02645   <span class="comment">//========================================</span>
<a name="l02646"></a>02646   <span class="comment">// Access to the internal buffer</span>
<a name="l02647"></a>02647   <span class="comment">//========================================</span>
<a name="l02648"></a>02648 
<a name="l02692"></a>02692   <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *getBuffer(int32_t minCapacity);
<a name="l02693"></a>02693 
<a name="l02714"></a>02714   <span class="keywordtype">void</span> releaseBuffer(int32_t newLength=-1);
<a name="l02715"></a>02715 
<a name="l02746"></a>02746   <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *getBuffer() <span class="keyword">const</span>;
<a name="l02747"></a>02747 
<a name="l02781"></a>02781   <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *getTerminatedBuffer();
<a name="l02782"></a>02782 
<a name="l02783"></a>02783   <span class="comment">//========================================</span>
<a name="l02784"></a>02784   <span class="comment">// Constructors</span>
<a name="l02785"></a>02785   <span class="comment">//========================================</span>
<a name="l02786"></a>02786 
<a name="l02790"></a>02790   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>();
<a name="l02791"></a>02791 
<a name="l02803"></a>02803   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(int32_t capacity, <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c, int32_t count);
<a name="l02804"></a>02804 
<a name="l02810"></a>02810   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> ch);
<a name="l02811"></a>02811 
<a name="l02817"></a>02817   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> ch);
<a name="l02818"></a>02818 
<a name="l02825"></a>02825   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *text);
<a name="l02826"></a>02826 
<a name="l02834"></a>02834   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *text,
<a name="l02835"></a>02835         int32_t textLength);
<a name="l02836"></a>02836 
<a name="l02856"></a>02856   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isTerminated,
<a name="l02857"></a>02857                 <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *text,
<a name="l02858"></a>02858                 int32_t textLength);
<a name="l02859"></a>02859 
<a name="l02878"></a>02878   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *buffer, int32_t buffLength, int32_t buffCapacity);
<a name="l02879"></a>02879 
<a name="l02880"></a>02880 <span class="preprocessor">#if U_CHARSET_IS_UTF8 || !UCONFIG_NO_CONVERSION</span>
<a name="l02881"></a>02881 <span class="preprocessor"></span>
<a name="l02888"></a>02888   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *codepageData);
<a name="l02889"></a>02889 
<a name="l02896"></a>02896   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *codepageData, int32_t dataLength);
<a name="l02897"></a>02897 
<a name="l02898"></a>02898 <span class="preprocessor">#endif</span>
<a name="l02899"></a>02899 <span class="preprocessor"></span>
<a name="l02900"></a>02900 <span class="preprocessor">#if !UCONFIG_NO_CONVERSION</span>
<a name="l02901"></a>02901 <span class="preprocessor"></span>
<a name="l02919"></a>02919   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *codepageData, <span class="keyword">const</span> <span class="keywordtype">char</span> *codepage);
<a name="l02920"></a>02920 
<a name="l02938"></a>02938   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *codepageData, int32_t dataLength, <span class="keyword">const</span> <span class="keywordtype">char</span> *codepage);
<a name="l02939"></a>02939 
<a name="l02961"></a>02961   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(
<a name="l02962"></a>02962         <span class="keyword">const</span> <span class="keywordtype">char</span> *src, int32_t srcLength,
<a name="l02963"></a>02963         <a class="code" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a> *cnv,
<a name="l02964"></a>02964         <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;errorCode);
<a name="l02965"></a>02965 
<a name="l02966"></a>02966 <span class="preprocessor">#endif</span>
<a name="l02967"></a>02967 <span class="preprocessor"></span>
<a name="l02992"></a>02992   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *src, int32_t length, <span class="keyword">enum</span> EInvariant inv);
<a name="l02993"></a>02993 
<a name="l02994"></a>02994 
<a name="l03000"></a>03000   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; that);
<a name="l03001"></a>03001 
<a name="l03008"></a>03008   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; src, int32_t srcStart);
<a name="l03009"></a>03009 
<a name="l03017"></a>03017   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; src, int32_t srcStart, int32_t srcLength);
<a name="l03018"></a>03018 
<a name="l03035"></a>03035   <span class="keyword">virtual</span> <a class="code" href="classReplaceable.html" title="Replaceable is an abstract base class representing a string of characters that supports...">Replaceable</a> *<a class="code" href="classReplaceable.html#a6e976bb4e1517d753fed1ea82539657b" title="Clone this object, an instance of a subclass of Replaceable.">clone</a>() <span class="keyword">const</span>;
<a name="l03036"></a>03036 
<a name="l03040"></a>03040   <span class="keyword">virtual</span> ~<a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>();
<a name="l03041"></a>03041 
<a name="l03055"></a>03055   <span class="keyword">static</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> fromUTF8(<span class="keyword">const</span> <a class="code" href="classStringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> &amp;utf8);
<a name="l03056"></a>03056 
<a name="l03068"></a>03068   <span class="keyword">static</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> fromUTF32(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> *utf32, int32_t length);
<a name="l03069"></a>03069 
<a name="l03070"></a>03070   <span class="comment">/* Miscellaneous operations */</span>
<a name="l03071"></a>03071 
<a name="l03106"></a>03106   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> unescape() <span class="keyword">const</span>;
<a name="l03107"></a>03107 
<a name="l03127"></a>03127   <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> unescapeAt(int32_t &amp;offset) <span class="keyword">const</span>;
<a name="l03128"></a>03128 
<a name="l03134"></a>03134   <span class="keyword">static</span> <a class="code" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using RTTI, since RTTI is not yet supported...">UClassID</a> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> getStaticClassID();
<a name="l03135"></a>03135 
<a name="l03141"></a>03141   <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using RTTI, since RTTI is not yet supported...">UClassID</a> <a class="code" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262" title="ICU4C &amp;quot;poor man&amp;#39;s RTTI&amp;quot;, returns a UClassID for the actual ICU class...">getDynamicClassID</a>() <span class="keyword">const</span>;
<a name="l03142"></a>03142 
<a name="l03143"></a>03143   <span class="comment">//========================================</span>
<a name="l03144"></a>03144   <span class="comment">// Implementation methods</span>
<a name="l03145"></a>03145   <span class="comment">//========================================</span>
<a name="l03146"></a>03146 
<a name="l03147"></a>03147 <span class="keyword">protected</span>:
<a name="l03152"></a>03152   <span class="keyword">virtual</span> int32_t <a class="code" href="classReplaceable.html#aaa70d54cdfecf5e6a0a86566c8f75809" title="Virtual version of length().">getLength</a>() <span class="keyword">const</span>;
<a name="l03153"></a>03153 
<a name="l03159"></a>03159   <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> <a class="code" href="classReplaceable.html#a5cb36727170bbcc883a0c5846a6c4484" title="Virtual version of charAt().">getCharAt</a>(int32_t offset) <span class="keyword">const</span>;
<a name="l03160"></a>03160 
<a name="l03166"></a>03166   <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> <a class="code" href="classReplaceable.html#a6305704f7ac09b06c85fd7698f7ac384" title="Virtual version of char32At().">getChar32At</a>(int32_t offset) <span class="keyword">const</span>;
<a name="l03167"></a>03167 
<a name="l03168"></a>03168 <span class="keyword">private</span>:
<a name="l03169"></a>03169   <span class="comment">// For char* constructors. Could be made public.</span>
<a name="l03170"></a>03170   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;setToUTF8(<span class="keyword">const</span> <a class="code" href="classStringPiece.html" title="A string-like object that points to a sized piece of memory.">StringPiece</a> &amp;utf8);
<a name="l03171"></a>03171   <span class="comment">// For extract(char*).</span>
<a name="l03172"></a>03172   <span class="comment">// We could make a toUTF8(target, capacity, errorCode) public but not</span>
<a name="l03173"></a>03173   <span class="comment">// this version: New API will be cleaner if we make callers create substrings</span>
<a name="l03174"></a>03174   <span class="comment">// rather than having start+length on every method,</span>
<a name="l03175"></a>03175   <span class="comment">// and it should take a UErrorCode&amp;.</span>
<a name="l03176"></a>03176   int32_t
<a name="l03177"></a>03177   toUTF8(int32_t start, int32_t len,
<a name="l03178"></a>03178          <span class="keywordtype">char</span> *target, int32_t capacity) <span class="keyword">const</span>;
<a name="l03179"></a>03179 
<a name="l03180"></a>03180 
<a name="l03181"></a>03181   <span class="keyword">inline</span> int8_t
<a name="l03182"></a>03182   doCompare(int32_t start,
<a name="l03183"></a>03183            int32_t length,
<a name="l03184"></a>03184            <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03185"></a>03185            int32_t srcStart,
<a name="l03186"></a>03186            int32_t srcLength) <span class="keyword">const</span>;
<a name="l03187"></a>03187 
<a name="l03188"></a>03188   int8_t doCompare(int32_t start,
<a name="l03189"></a>03189            int32_t length,
<a name="l03190"></a>03190            <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03191"></a>03191            int32_t srcStart,
<a name="l03192"></a>03192            int32_t srcLength) <span class="keyword">const</span>;
<a name="l03193"></a>03193 
<a name="l03194"></a>03194   <span class="keyword">inline</span> int8_t
<a name="l03195"></a>03195   doCompareCodePointOrder(int32_t start,
<a name="l03196"></a>03196                           int32_t length,
<a name="l03197"></a>03197                           <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03198"></a>03198                           int32_t srcStart,
<a name="l03199"></a>03199                           int32_t srcLength) <span class="keyword">const</span>;
<a name="l03200"></a>03200 
<a name="l03201"></a>03201   int8_t doCompareCodePointOrder(int32_t start,
<a name="l03202"></a>03202                                  int32_t length,
<a name="l03203"></a>03203                                  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03204"></a>03204                                  int32_t srcStart,
<a name="l03205"></a>03205                                  int32_t srcLength) <span class="keyword">const</span>;
<a name="l03206"></a>03206 
<a name="l03207"></a>03207   <span class="keyword">inline</span> int8_t
<a name="l03208"></a>03208   doCaseCompare(int32_t start,
<a name="l03209"></a>03209                 int32_t length,
<a name="l03210"></a>03210                 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;srcText,
<a name="l03211"></a>03211                 int32_t srcStart,
<a name="l03212"></a>03212                 int32_t srcLength,
<a name="l03213"></a>03213                 uint32_t options) <span class="keyword">const</span>;
<a name="l03214"></a>03214 
<a name="l03215"></a>03215   int8_t
<a name="l03216"></a>03216   doCaseCompare(int32_t start,
<a name="l03217"></a>03217                 int32_t length,
<a name="l03218"></a>03218                 <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03219"></a>03219                 int32_t srcStart,
<a name="l03220"></a>03220                 int32_t srcLength,
<a name="l03221"></a>03221                 uint32_t options) <span class="keyword">const</span>;
<a name="l03222"></a>03222 
<a name="l03223"></a>03223   int32_t doIndexOf(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l03224"></a>03224             int32_t start,
<a name="l03225"></a>03225             int32_t length) <span class="keyword">const</span>;
<a name="l03226"></a>03226 
<a name="l03227"></a>03227   int32_t doIndexOf(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l03228"></a>03228                         int32_t start,
<a name="l03229"></a>03229                         int32_t length) <span class="keyword">const</span>;
<a name="l03230"></a>03230 
<a name="l03231"></a>03231   int32_t doLastIndexOf(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l03232"></a>03232                 int32_t start,
<a name="l03233"></a>03233                 int32_t length) <span class="keyword">const</span>;
<a name="l03234"></a>03234 
<a name="l03235"></a>03235   int32_t doLastIndexOf(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l03236"></a>03236                             int32_t start,
<a name="l03237"></a>03237                             int32_t length) <span class="keyword">const</span>;
<a name="l03238"></a>03238 
<a name="l03239"></a>03239   <span class="keywordtype">void</span> doExtract(int32_t start,
<a name="l03240"></a>03240          int32_t length,
<a name="l03241"></a>03241          <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *dst,
<a name="l03242"></a>03242          int32_t dstStart) <span class="keyword">const</span>;
<a name="l03243"></a>03243 
<a name="l03244"></a>03244   <span class="keyword">inline</span> <span class="keywordtype">void</span> doExtract(int32_t start,
<a name="l03245"></a>03245          int32_t length,
<a name="l03246"></a>03246          <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; target) <span class="keyword">const</span>;
<a name="l03247"></a>03247 
<a name="l03248"></a>03248   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> doCharAt(int32_t offset)  <span class="keyword">const</span>;
<a name="l03249"></a>03249 
<a name="l03250"></a>03250   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; doReplace(int32_t start,
<a name="l03251"></a>03251                int32_t length,
<a name="l03252"></a>03252                <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03253"></a>03253                int32_t srcStart,
<a name="l03254"></a>03254                int32_t srcLength);
<a name="l03255"></a>03255 
<a name="l03256"></a>03256   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; doReplace(int32_t start,
<a name="l03257"></a>03257                int32_t length,
<a name="l03258"></a>03258                <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03259"></a>03259                int32_t srcStart,
<a name="l03260"></a>03260                int32_t srcLength);
<a name="l03261"></a>03261 
<a name="l03262"></a>03262   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; doReverse(int32_t start,
<a name="l03263"></a>03263                int32_t length);
<a name="l03264"></a>03264 
<a name="l03265"></a>03265   <span class="comment">// calculate hash code</span>
<a name="l03266"></a>03266   int32_t doHashCode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l03267"></a>03267 
<a name="l03268"></a>03268   <span class="comment">// get pointer to start of array</span>
<a name="l03269"></a>03269   <span class="comment">// these do not check for kOpenGetBuffer, unlike the public getBuffer() function</span>
<a name="l03270"></a>03270   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>* getArrayStart(<span class="keywordtype">void</span>);
<a name="l03271"></a>03271   <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>* getArrayStart(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l03272"></a>03272 
<a name="l03273"></a>03273   <span class="comment">// A UnicodeString object (not necessarily its current buffer)</span>
<a name="l03274"></a>03274   <span class="comment">// is writable unless it isBogus() or it has an &quot;open&quot; getBuffer(minCapacity).</span>
<a name="l03275"></a>03275   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isWritable() <span class="keyword">const</span>;
<a name="l03276"></a>03276 
<a name="l03277"></a>03277   <span class="comment">// Is the current buffer writable?</span>
<a name="l03278"></a>03278   <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isBufferWritable() <span class="keyword">const</span>;
<a name="l03279"></a>03279 
<a name="l03280"></a>03280   <span class="comment">// None of the following does releaseArray().</span>
<a name="l03281"></a>03281   <span class="keyword">inline</span> <span class="keywordtype">void</span> setLength(int32_t len);        <span class="comment">// sets only fShortLength and fLength</span>
<a name="l03282"></a>03282   <span class="keyword">inline</span> <span class="keywordtype">void</span> setToEmpty();                  <span class="comment">// sets fFlags=kShortString</span>
<a name="l03283"></a>03283   <span class="keyword">inline</span> <span class="keywordtype">void</span> setArray(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *array, int32_t len, int32_t capacity); <span class="comment">// does not set fFlags</span>
<a name="l03284"></a>03284 
<a name="l03285"></a>03285   <span class="comment">// allocate the array; result may be fStackBuffer</span>
<a name="l03286"></a>03286   <span class="comment">// sets refCount to 1 if appropriate</span>
<a name="l03287"></a>03287   <span class="comment">// sets fArray, fCapacity, and fFlags</span>
<a name="l03288"></a>03288   <span class="comment">// returns boolean for success or failure</span>
<a name="l03289"></a>03289   <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> allocate(int32_t capacity);
<a name="l03290"></a>03290 
<a name="l03291"></a>03291   <span class="comment">// release the array if owned</span>
<a name="l03292"></a>03292   <span class="keywordtype">void</span> releaseArray(<span class="keywordtype">void</span>);
<a name="l03293"></a>03293 
<a name="l03294"></a>03294   <span class="comment">// turn a bogus string into an empty one</span>
<a name="l03295"></a>03295   <span class="keywordtype">void</span> unBogus();
<a name="l03296"></a>03296 
<a name="l03297"></a>03297   <span class="comment">// implements assigment operator, copy constructor, and fastCopyFrom()</span>
<a name="l03298"></a>03298   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;copyFrom(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;src, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fastCopy=<a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1" title="The FALSE value of a UBool.">FALSE</a>);
<a name="l03299"></a>03299 
<a name="l03300"></a>03300   <span class="comment">// Pin start and limit to acceptable values.</span>
<a name="l03301"></a>03301   <span class="keyword">inline</span> <span class="keywordtype">void</span> pinIndex(int32_t&amp; start) <span class="keyword">const</span>;
<a name="l03302"></a>03302   <span class="keyword">inline</span> <span class="keywordtype">void</span> pinIndices(int32_t&amp; start,
<a name="l03303"></a>03303                          int32_t&amp; length) <span class="keyword">const</span>;
<a name="l03304"></a>03304 
<a name="l03305"></a>03305 <span class="preprocessor">#if !UCONFIG_NO_CONVERSION</span>
<a name="l03306"></a>03306 <span class="preprocessor"></span>
<a name="l03307"></a>03307   <span class="comment">/* Internal extract() using UConverter. */</span>
<a name="l03308"></a>03308   int32_t doExtract(int32_t start, int32_t length,
<a name="l03309"></a>03309                     <span class="keywordtype">char</span> *dest, int32_t destCapacity,
<a name="l03310"></a>03310                     <a class="code" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a> *cnv,
<a name="l03311"></a>03311                     <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;errorCode) <span class="keyword">const</span>;
<a name="l03312"></a>03312 
<a name="l03313"></a>03313   <span class="comment">/*</span>
<a name="l03314"></a>03314 <span class="comment">   * Real constructor for converting from codepage data.</span>
<a name="l03315"></a>03315 <span class="comment">   * It assumes that it is called with !fRefCounted.</span>
<a name="l03316"></a>03316 <span class="comment">   *</span>
<a name="l03317"></a>03317 <span class="comment">   * If &lt;code&gt;codepage==0&lt;/code&gt;, then the default converter</span>
<a name="l03318"></a>03318 <span class="comment">   * is used for the platform encoding.</span>
<a name="l03319"></a>03319 <span class="comment">   * If &lt;code&gt;codepage&lt;/code&gt; is an empty string (&lt;code&gt;&quot;&quot;&lt;/code&gt;),</span>
<a name="l03320"></a>03320 <span class="comment">   * then a simple conversion is performed on the codepage-invariant</span>
<a name="l03321"></a>03321 <span class="comment">   * subset (&quot;invariant characters&quot;) of the platform encoding. See utypes.h.</span>
<a name="l03322"></a>03322 <span class="comment">   */</span>
<a name="l03323"></a>03323   <span class="keywordtype">void</span> doCodepageCreate(<span class="keyword">const</span> <span class="keywordtype">char</span> *codepageData,
<a name="l03324"></a>03324                         int32_t dataLength,
<a name="l03325"></a>03325                         <span class="keyword">const</span> <span class="keywordtype">char</span> *codepage);
<a name="l03326"></a>03326 
<a name="l03327"></a>03327   <span class="comment">/*</span>
<a name="l03328"></a>03328 <span class="comment">   * Worker function for creating a UnicodeString from</span>
<a name="l03329"></a>03329 <span class="comment">   * a codepage string using a UConverter.</span>
<a name="l03330"></a>03330 <span class="comment">   */</span>
<a name="l03331"></a>03331   <span class="keywordtype">void</span>
<a name="l03332"></a>03332   doCodepageCreate(<span class="keyword">const</span> <span class="keywordtype">char</span> *codepageData,
<a name="l03333"></a>03333                    int32_t dataLength,
<a name="l03334"></a>03334                    <a class="code" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a> *converter,
<a name="l03335"></a>03335                    <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;status);
<a name="l03336"></a>03336 
<a name="l03337"></a>03337 <span class="preprocessor">#endif</span>
<a name="l03338"></a>03338 <span class="preprocessor"></span>
<a name="l03339"></a>03339   <span class="comment">/*</span>
<a name="l03340"></a>03340 <span class="comment">   * This function is called when write access to the array</span>
<a name="l03341"></a>03341 <span class="comment">   * is necessary.</span>
<a name="l03342"></a>03342 <span class="comment">   *</span>
<a name="l03343"></a>03343 <span class="comment">   * We need to make a copy of the array if</span>
<a name="l03344"></a>03344 <span class="comment">   * the buffer is read-only, or</span>
<a name="l03345"></a>03345 <span class="comment">   * the buffer is refCounted (shared), and refCount&gt;1, or</span>
<a name="l03346"></a>03346 <span class="comment">   * the buffer is too small.</span>
<a name="l03347"></a>03347 <span class="comment">   *</span>
<a name="l03348"></a>03348 <span class="comment">   * Return FALSE if memory could not be allocated.</span>
<a name="l03349"></a>03349 <span class="comment">   */</span>
<a name="l03350"></a>03350   <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> cloneArrayIfNeeded(int32_t newCapacity = -1,
<a name="l03351"></a>03351                             int32_t growCapacity = -1,
<a name="l03352"></a>03352                             <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> doCopyArray = <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d" title="The TRUE value of a UBool.">TRUE</a>,
<a name="l03353"></a>03353                             int32_t **pBufferToDelete = 0,
<a name="l03354"></a>03354                             <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> forceClone = <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1" title="The FALSE value of a UBool.">FALSE</a>);
<a name="l03355"></a>03355 
<a name="l03356"></a>03356   <span class="comment">// common function for case mappings</span>
<a name="l03357"></a>03357   <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;
<a name="l03358"></a>03358   caseMap(<a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a> *titleIter,
<a name="l03359"></a>03359           <span class="keyword">const</span> <span class="keywordtype">char</span> *locale,
<a name="l03360"></a>03360           uint32_t options,
<a name="l03361"></a>03361           int32_t toWhichCase);
<a name="l03362"></a>03362 
<a name="l03363"></a>03363   <span class="comment">// ref counting</span>
<a name="l03364"></a>03364   <span class="keywordtype">void</span> addRef(<span class="keywordtype">void</span>);
<a name="l03365"></a>03365   int32_t removeRef(<span class="keywordtype">void</span>);
<a name="l03366"></a>03366   int32_t refCount(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l03367"></a>03367 
<a name="l03368"></a>03368   <span class="comment">// constants</span>
<a name="l03369"></a>03369   <span class="keyword">enum</span> {
<a name="l03370"></a>03370     <span class="comment">// Set the stack buffer size so that sizeof(UnicodeString) is a multiple of sizeof(pointer):</span>
<a name="l03371"></a>03371     <span class="comment">// 32-bit pointers: 4+1+1+13*2 = 32 bytes</span>
<a name="l03372"></a>03372     <span class="comment">// 64-bit pointers: 8+1+1+15*2 = 40 bytes</span>
<a name="l03373"></a>03373     US_STACKBUF_SIZE= <span class="keyword">sizeof</span>(<span class="keywordtype">void</span> *)==4 ? 13 : 15, <span class="comment">// Size of stack buffer for small strings</span>
<a name="l03374"></a>03374     kInvalidUChar=0xffff, <span class="comment">// invalid UChar index</span>
<a name="l03375"></a>03375     kGrowSize=128, <span class="comment">// grow size for this buffer</span>
<a name="l03376"></a>03376     kInvalidHashCode=0, <span class="comment">// invalid hash code</span>
<a name="l03377"></a>03377     kEmptyHashCode=1, <span class="comment">// hash code for empty string</span>
<a name="l03378"></a>03378 
<a name="l03379"></a>03379     <span class="comment">// bit flag values for fFlags</span>
<a name="l03380"></a>03380     kIsBogus=1,         <span class="comment">// this string is bogus, i.e., not valid or NULL</span>
<a name="l03381"></a>03381     kUsingStackBuffer=2,<span class="comment">// fArray==fStackBuffer</span>
<a name="l03382"></a>03382     kRefCounted=4,      <span class="comment">// there is a refCount field before the characters in fArray</span>
<a name="l03383"></a>03383     kBufferIsReadonly=8,<span class="comment">// do not write to this buffer</span>
<a name="l03384"></a>03384     kOpenGetBuffer=16,  <span class="comment">// getBuffer(minCapacity) was called (is &quot;open&quot;),</span>
<a name="l03385"></a>03385                         <span class="comment">// and releaseBuffer(newLength) must be called</span>
<a name="l03386"></a>03386 
<a name="l03387"></a>03387     <span class="comment">// combined values for convenience</span>
<a name="l03388"></a>03388     kShortString=kUsingStackBuffer,
<a name="l03389"></a>03389     kLongString=kRefCounted,
<a name="l03390"></a>03390     kReadonlyAlias=kBufferIsReadonly,
<a name="l03391"></a>03391     kWritableAlias=0
<a name="l03392"></a>03392   };
<a name="l03393"></a>03393 
<a name="l03394"></a>03394   <span class="keyword">friend</span> <span class="keyword">class </span>StringThreadTest;
<a name="l03395"></a>03395 
<a name="l03396"></a>03396   <span class="keyword">union </span>StackBufferOrFields;        <span class="comment">// forward declaration necessary before friend declaration</span>
<a name="l03397"></a>03397   <span class="keyword">friend</span> <span class="keyword">union </span>StackBufferOrFields; <span class="comment">// make US_STACKBUF_SIZE visible inside fUnion</span>
<a name="l03398"></a>03398 
<a name="l03399"></a>03399   <span class="comment">/*</span>
<a name="l03400"></a>03400 <span class="comment">   * The following are all the class fields that are stored</span>
<a name="l03401"></a>03401 <span class="comment">   * in each UnicodeString object.</span>
<a name="l03402"></a>03402 <span class="comment">   * Note that UnicodeString has virtual functions,</span>
<a name="l03403"></a>03403 <span class="comment">   * therefore there is an implicit vtable pointer</span>
<a name="l03404"></a>03404 <span class="comment">   * as the first real field.</span>
<a name="l03405"></a>03405 <span class="comment">   * The fields should be aligned such that no padding is</span>
<a name="l03406"></a>03406 <span class="comment">   * necessary, mostly by having larger types first.</span>
<a name="l03407"></a>03407 <span class="comment">   * On 32-bit machines, the size should be 32 bytes,</span>
<a name="l03408"></a>03408 <span class="comment">   * on 64-bit machines (8-byte pointers), it should be 40 bytes.</span>
<a name="l03409"></a>03409 <span class="comment">   */</span>
<a name="l03410"></a>03410   <span class="comment">// (implicit) *vtable;</span>
<a name="l03411"></a>03411   int8_t    fShortLength;   <span class="comment">// 0..127: length  &lt;0: real length is in fUnion.fFields.fLength</span>
<a name="l03412"></a>03412   uint8_t   fFlags;         <span class="comment">// bit flags: see constants above</span>
<a name="l03413"></a>03413   <span class="keyword">union </span>StackBufferOrFields {
<a name="l03414"></a>03414     <span class="comment">// fStackBuffer is used iff (fFlags&amp;kUsingStackBuffer)</span>
<a name="l03415"></a>03415     <span class="comment">// else fFields is used</span>
<a name="l03416"></a>03416     <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>     fStackBuffer [US_STACKBUF_SIZE]; <span class="comment">// buffer for small strings</span>
<a name="l03417"></a>03417     <span class="keyword">struct </span>{
<a name="l03418"></a>03418       uint16_t  fPadding;   <span class="comment">// align the following field at 8B (32b pointers) or 12B (64b)</span>
<a name="l03419"></a>03419       int32_t   fLength;    <span class="comment">// number of characters in fArray if &gt;127; else undefined</span>
<a name="l03420"></a>03420       <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>     *fArray;    <span class="comment">// the Unicode data (aligned at 12B (32b pointers) or 16B (64b))</span>
<a name="l03421"></a>03421       int32_t   fCapacity;  <span class="comment">// sizeof fArray</span>
<a name="l03422"></a>03422     } fFields;
<a name="l03423"></a>03423   } fUnion;
<a name="l03424"></a>03424 };
<a name="l03425"></a>03425 
<a name="l03434"></a>03434 <a class="code" href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334" title="Set to export library symbols from inside the common library, and to import them...">U_COMMON_API</a> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a>
<a name="l03435"></a>03435 <a class="code" href="unistr_8h.html#a9ba928a0602f95e68a1973dc26970ca5" title="Create a new UnicodeString with the concatenation of two others.">operator+ </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;s1, <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;s2);
<a name="l03436"></a>03436 
<a name="l03437"></a>03437 <span class="comment">//========================================</span>
<a name="l03438"></a>03438 <span class="comment">// Inline members</span>
<a name="l03439"></a>03439 <span class="comment">//========================================</span>
<a name="l03440"></a>03440 
<a name="l03441"></a>03441 <span class="comment">//========================================</span>
<a name="l03442"></a>03442 <span class="comment">// Privates</span>
<a name="l03443"></a>03443 <span class="comment">//========================================</span>
<a name="l03444"></a>03444 
<a name="l03445"></a>03445 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l03446"></a>03446 UnicodeString::pinIndex(int32_t&amp; start)<span class="keyword"> const</span>
<a name="l03447"></a>03447 <span class="keyword"></span>{
<a name="l03448"></a>03448   <span class="comment">// pin index</span>
<a name="l03449"></a>03449   <span class="keywordflow">if</span>(start &lt; 0) {
<a name="l03450"></a>03450     start = 0;
<a name="l03451"></a>03451   } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(start &gt; <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) {
<a name="l03452"></a>03452     start = <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>();
<a name="l03453"></a>03453   }
<a name="l03454"></a>03454 }
<a name="l03455"></a>03455 
<a name="l03456"></a>03456 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l03457"></a>03457 UnicodeString::pinIndices(int32_t&amp; start,
<a name="l03458"></a>03458                           int32_t&amp; _length)<span class="keyword"> const</span>
<a name="l03459"></a>03459 <span class="keyword"></span>{
<a name="l03460"></a>03460   <span class="comment">// pin indices</span>
<a name="l03461"></a>03461   int32_t len = <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>();
<a name="l03462"></a>03462   <span class="keywordflow">if</span>(start &lt; 0) {
<a name="l03463"></a>03463     start = 0;
<a name="l03464"></a>03464   } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(start &gt; len) {
<a name="l03465"></a>03465     start = len;
<a name="l03466"></a>03466   }
<a name="l03467"></a>03467   <span class="keywordflow">if</span>(_length &lt; 0) {
<a name="l03468"></a>03468     _length = 0;
<a name="l03469"></a>03469   } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(_length &gt; (len - start)) {
<a name="l03470"></a>03470     _length = (len - start);
<a name="l03471"></a>03471   }
<a name="l03472"></a>03472 }
<a name="l03473"></a>03473 
<a name="l03474"></a>03474 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>*
<a name="l03475"></a>03475 UnicodeString::getArrayStart()
<a name="l03476"></a>03476 { <span class="keywordflow">return</span> (fFlags&amp;kUsingStackBuffer) ? fUnion.fStackBuffer : fUnion.fFields.fArray; }
<a name="l03477"></a>03477 
<a name="l03478"></a>03478 <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>*
<a name="l03479"></a>03479 UnicodeString::getArrayStart()<span class="keyword"> const</span>
<a name="l03480"></a>03480 <span class="keyword"></span>{ <span class="keywordflow">return</span> (fFlags&amp;kUsingStackBuffer) ? fUnion.fStackBuffer : fUnion.fFields.fArray; }
<a name="l03481"></a>03481 
<a name="l03482"></a>03482 <span class="comment">//========================================</span>
<a name="l03483"></a>03483 <span class="comment">// Read-only implementation methods</span>
<a name="l03484"></a>03484 <span class="comment">//========================================</span>
<a name="l03485"></a>03485 <span class="keyword">inline</span> int32_t
<a name="l03486"></a><a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6">03486</a> <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">UnicodeString::length</a>()<span class="keyword"> const</span>
<a name="l03487"></a>03487 <span class="keyword"></span>{ <span class="keywordflow">return</span> fShortLength&gt;=0 ? fShortLength : fUnion.fFields.fLength; }
<a name="l03488"></a>03488 
<a name="l03489"></a>03489 <span class="keyword">inline</span> int32_t
<a name="l03490"></a><a class="code" href="classUnicodeString.html#a924521b1d7d9828ac9374e467144b0cc">03490</a> <a class="code" href="classUnicodeString.html#a924521b1d7d9828ac9374e467144b0cc" title="Return the capacity of the internal buffer of the UnicodeString object.">UnicodeString::getCapacity</a>()<span class="keyword"> const</span>
<a name="l03491"></a>03491 <span class="keyword"></span>{ <span class="keywordflow">return</span> (fFlags&amp;kUsingStackBuffer) ? US_STACKBUF_SIZE : fUnion.fFields.fCapacity; }
<a name="l03492"></a>03492 
<a name="l03493"></a>03493 <span class="keyword">inline</span> int32_t
<a name="l03494"></a><a class="code" href="classUnicodeString.html#a6724ae76d51cf802ded394eaedd7b3fd">03494</a> <a class="code" href="classUnicodeString.html#a6724ae76d51cf802ded394eaedd7b3fd" title="Generate a hash code for this object.">UnicodeString::hashCode</a>()<span class="keyword"> const</span>
<a name="l03495"></a>03495 <span class="keyword"></span>{ <span class="keywordflow">return</span> doHashCode(); }
<a name="l03496"></a>03496 
<a name="l03497"></a>03497 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03498"></a><a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401">03498</a> <a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">UnicodeString::isBogus</a>()<span class="keyword"> const</span>
<a name="l03499"></a>03499 <span class="keyword"></span>{ <span class="keywordflow">return</span> (<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>)(fFlags &amp; kIsBogus); }
<a name="l03500"></a>03500 
<a name="l03501"></a>03501 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03502"></a>03502 UnicodeString::isWritable()<span class="keyword"> const</span>
<a name="l03503"></a>03503 <span class="keyword"></span>{ <span class="keywordflow">return</span> (<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>)!(fFlags&amp;(kOpenGetBuffer|kIsBogus)); }
<a name="l03504"></a>03504 
<a name="l03505"></a>03505 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03506"></a>03506 UnicodeString::isBufferWritable()<span class="keyword"> const</span>
<a name="l03507"></a>03507 <span class="keyword"></span>{
<a name="l03508"></a>03508   <span class="keywordflow">return</span> (<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>)(
<a name="l03509"></a>03509       !(fFlags&amp;(kOpenGetBuffer|kIsBogus|kBufferIsReadonly)) &amp;&amp;
<a name="l03510"></a>03510       (!(fFlags&amp;kRefCounted) || refCount()==1));
<a name="l03511"></a>03511 }
<a name="l03512"></a>03512 
<a name="l03513"></a>03513 <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *
<a name="l03514"></a><a class="code" href="classUnicodeString.html#a34eda92a2c60797052116eb7acada1dc">03514</a> <a class="code" href="classUnicodeString.html#a34eda92a2c60797052116eb7acada1dc" title="Get a read-only pointer to the internal buffer.">UnicodeString::getBuffer</a>()<span class="keyword"> const </span>{
<a name="l03515"></a>03515   <span class="keywordflow">if</span>(fFlags&amp;(kIsBogus|kOpenGetBuffer)) {
<a name="l03516"></a>03516     <span class="keywordflow">return</span> 0;
<a name="l03517"></a>03517   } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(fFlags&amp;kUsingStackBuffer) {
<a name="l03518"></a>03518     <span class="keywordflow">return</span> fUnion.fStackBuffer;
<a name="l03519"></a>03519   } <span class="keywordflow">else</span> {
<a name="l03520"></a>03520     <span class="keywordflow">return</span> fUnion.fFields.fArray;
<a name="l03521"></a>03521   }
<a name="l03522"></a>03522 }
<a name="l03523"></a>03523 
<a name="l03524"></a>03524 <span class="comment">//========================================</span>
<a name="l03525"></a>03525 <span class="comment">// Read-only alias methods</span>
<a name="l03526"></a>03526 <span class="comment">//========================================</span>
<a name="l03527"></a>03527 <span class="keyword">inline</span> int8_t
<a name="l03528"></a>03528 UnicodeString::doCompare(int32_t start,
<a name="l03529"></a>03529               int32_t thisLength,
<a name="l03530"></a>03530               <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03531"></a>03531               int32_t srcStart,
<a name="l03532"></a>03532               int32_t srcLength)<span class="keyword"> const</span>
<a name="l03533"></a>03533 <span class="keyword"></span>{
<a name="l03534"></a>03534   <span class="keywordflow">if</span>(srcText.<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>()) {
<a name="l03535"></a>03535     <span class="keywordflow">return</span> (int8_t)!<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>(); <span class="comment">// 0 if both are bogus, 1 otherwise</span>
<a name="l03536"></a>03536   } <span class="keywordflow">else</span> {
<a name="l03537"></a>03537     srcText.pinIndices(srcStart, srcLength);
<a name="l03538"></a>03538     <span class="keywordflow">return</span> doCompare(start, thisLength, srcText.getArrayStart(), srcStart, srcLength);
<a name="l03539"></a>03539   }
<a name="l03540"></a>03540 }
<a name="l03541"></a>03541 
<a name="l03542"></a>03542 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03543"></a><a class="code" href="classUnicodeString.html#a0dca5ffc55b3f73e9b7382749cffcc76">03543</a> <a class="code" href="classUnicodeString.html#a0dca5ffc55b3f73e9b7382749cffcc76" title="Equality operator.">UnicodeString::operator== </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03544"></a>03544 <span class="keyword"></span>{
<a name="l03545"></a>03545   <span class="keywordflow">if</span>(<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>()) {
<a name="l03546"></a>03546     <span class="keywordflow">return</span> text.<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>();
<a name="l03547"></a>03547   } <span class="keywordflow">else</span> {
<a name="l03548"></a>03548     int32_t len = <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), textLength = text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>();
<a name="l03549"></a>03549     <span class="keywordflow">return</span>
<a name="l03550"></a>03550       !text.<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>() &amp;&amp;
<a name="l03551"></a>03551       len == textLength &amp;&amp;
<a name="l03552"></a>03552       doCompare(0, len, text, 0, textLength) == 0;
<a name="l03553"></a>03553   }
<a name="l03554"></a>03554 }
<a name="l03555"></a>03555 
<a name="l03556"></a>03556 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03557"></a><a class="code" href="classUnicodeString.html#a77b6ddf0e458fa0c1c9378484305f695">03557</a> <a class="code" href="classUnicodeString.html#a77b6ddf0e458fa0c1c9378484305f695" title="Inequality operator.">UnicodeString::operator!= </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03558"></a>03558 <span class="keyword"></span>{ <span class="keywordflow">return</span> (! <span class="keyword">operator</span>==(text)); }
<a name="l03559"></a>03559 
<a name="l03560"></a>03560 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03561"></a><a class="code" href="classUnicodeString.html#a3e51f324b52e9f1b563e7da39138215d">03561</a> <a class="code" href="classUnicodeString.html#a3e51f324b52e9f1b563e7da39138215d" title="Greater than operator.">UnicodeString::operator&gt; </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03562"></a>03562 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) == 1; }
<a name="l03563"></a>03563 
<a name="l03564"></a>03564 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03565"></a><a class="code" href="classUnicodeString.html#a52ac4f79ff0c1dee2f39e38c9abcf030">03565</a> <a class="code" href="classUnicodeString.html#a52ac4f79ff0c1dee2f39e38c9abcf030" title="Less than operator.">UnicodeString::operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03566"></a>03566 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) == -1; }
<a name="l03567"></a>03567 
<a name="l03568"></a>03568 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03569"></a><a class="code" href="classUnicodeString.html#ab5d1ffd7cdd87e3756a991c489f8f8f1">03569</a> <a class="code" href="classUnicodeString.html#ab5d1ffd7cdd87e3756a991c489f8f8f1" title="Greater than or equal operator.">UnicodeString::operator&gt;= </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03570"></a>03570 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) != -1; }
<a name="l03571"></a>03571 
<a name="l03572"></a>03572 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03573"></a><a class="code" href="classUnicodeString.html#ac6c53077851d1b6af4c45a268638d46e">03573</a> <a class="code" href="classUnicodeString.html#ac6c53077851d1b6af4c45a268638d46e" title="Less than or equal operator.">UnicodeString::operator&lt;= </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03574"></a>03574 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) != 1; }
<a name="l03575"></a>03575 
<a name="l03576"></a>03576 <span class="keyword">inline</span> int8_t
<a name="l03577"></a><a class="code" href="classUnicodeString.html#aceb5ebe345197e0932d6b1c49a63493e">03577</a> <a class="code" href="classUnicodeString.html#aceb5ebe345197e0932d6b1c49a63493e" title="Compare the characters bitwise in this UnicodeString to the characters in text.">UnicodeString::compare</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03578"></a>03578 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03579"></a>03579 
<a name="l03580"></a>03580 <span class="keyword">inline</span> int8_t
<a name="l03581"></a><a class="code" href="classUnicodeString.html#a5b0909813b13e3cebb0ea8915e822dd8">03581</a> <a class="code" href="classUnicodeString.html#aceb5ebe345197e0932d6b1c49a63493e" title="Compare the characters bitwise in this UnicodeString to the characters in text.">UnicodeString::compare</a>(int32_t start,
<a name="l03582"></a>03582                int32_t _length,
<a name="l03583"></a>03583                <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText)<span class="keyword"> const</span>
<a name="l03584"></a>03584 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(start, _length, srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03585"></a>03585 
<a name="l03586"></a>03586 <span class="keyword">inline</span> int8_t
<a name="l03587"></a><a class="code" href="classUnicodeString.html#a831c909209e45615aa0c4c368b7d600f">03587</a> <a class="code" href="classUnicodeString.html#aceb5ebe345197e0932d6b1c49a63493e" title="Compare the characters bitwise in this UnicodeString to the characters in text.">UnicodeString::compare</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03588"></a>03588                int32_t srcLength)<span class="keyword"> const</span>
<a name="l03589"></a>03589 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), srcChars, 0, srcLength); }
<a name="l03590"></a>03590 
<a name="l03591"></a>03591 <span class="keyword">inline</span> int8_t
<a name="l03592"></a><a class="code" href="classUnicodeString.html#afedda065f5a283232bffd434a3765af1">03592</a> <a class="code" href="classUnicodeString.html#aceb5ebe345197e0932d6b1c49a63493e" title="Compare the characters bitwise in this UnicodeString to the characters in text.">UnicodeString::compare</a>(int32_t start,
<a name="l03593"></a>03593                int32_t _length,
<a name="l03594"></a>03594                <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03595"></a>03595                int32_t srcStart,
<a name="l03596"></a>03596                int32_t srcLength)<span class="keyword"> const</span>
<a name="l03597"></a>03597 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(start, _length, srcText, srcStart, srcLength); }
<a name="l03598"></a>03598 
<a name="l03599"></a>03599 <span class="keyword">inline</span> int8_t
<a name="l03600"></a><a class="code" href="classUnicodeString.html#abf1a9b87377c49721ec32371afabb5a6">03600</a> <a class="code" href="classUnicodeString.html#aceb5ebe345197e0932d6b1c49a63493e" title="Compare the characters bitwise in this UnicodeString to the characters in text.">UnicodeString::compare</a>(int32_t start,
<a name="l03601"></a>03601                int32_t _length,
<a name="l03602"></a>03602                <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars)<span class="keyword"> const</span>
<a name="l03603"></a>03603 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(start, _length, srcChars, 0, _length); }
<a name="l03604"></a>03604 
<a name="l03605"></a>03605 <span class="keyword">inline</span> int8_t
<a name="l03606"></a><a class="code" href="classUnicodeString.html#a14d0ef73e76d1c90702ee5d4923ae8f9">03606</a> <a class="code" href="classUnicodeString.html#aceb5ebe345197e0932d6b1c49a63493e" title="Compare the characters bitwise in this UnicodeString to the characters in text.">UnicodeString::compare</a>(int32_t start,
<a name="l03607"></a>03607                int32_t _length,
<a name="l03608"></a>03608                <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03609"></a>03609                int32_t srcStart,
<a name="l03610"></a>03610                int32_t srcLength)<span class="keyword"> const</span>
<a name="l03611"></a>03611 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(start, _length, srcChars, srcStart, srcLength); }
<a name="l03612"></a>03612 
<a name="l03613"></a>03613 <span class="keyword">inline</span> int8_t
<a name="l03614"></a><a class="code" href="classUnicodeString.html#a7d1d10ff930be9e96c21307360010e47">03614</a> <a class="code" href="classUnicodeString.html#a7d1d10ff930be9e96c21307360010e47" title="Compare the characters bitwise in the range [start, limit) with the characters in...">UnicodeString::compareBetween</a>(int32_t start,
<a name="l03615"></a>03615                   int32_t limit,
<a name="l03616"></a>03616                   <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03617"></a>03617                   int32_t srcStart,
<a name="l03618"></a>03618                   int32_t srcLimit)<span class="keyword"> const</span>
<a name="l03619"></a>03619 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(start, limit - start,
<a name="l03620"></a>03620            srcText, srcStart, srcLimit - srcStart); }
<a name="l03621"></a>03621 
<a name="l03622"></a>03622 <span class="keyword">inline</span> int8_t
<a name="l03623"></a>03623 UnicodeString::doCompareCodePointOrder(int32_t start,
<a name="l03624"></a>03624                                        int32_t thisLength,
<a name="l03625"></a>03625                                        <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03626"></a>03626                                        int32_t srcStart,
<a name="l03627"></a>03627                                        int32_t srcLength)<span class="keyword"> const</span>
<a name="l03628"></a>03628 <span class="keyword"></span>{
<a name="l03629"></a>03629   <span class="keywordflow">if</span>(srcText.<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>()) {
<a name="l03630"></a>03630     <span class="keywordflow">return</span> (int8_t)!<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>(); <span class="comment">// 0 if both are bogus, 1 otherwise</span>
<a name="l03631"></a>03631   } <span class="keywordflow">else</span> {
<a name="l03632"></a>03632     srcText.pinIndices(srcStart, srcLength);
<a name="l03633"></a>03633     <span class="keywordflow">return</span> doCompareCodePointOrder(start, thisLength, srcText.getArrayStart(), srcStart, srcLength);
<a name="l03634"></a>03634   }
<a name="l03635"></a>03635 }
<a name="l03636"></a>03636 
<a name="l03637"></a>03637 <span class="keyword">inline</span> int8_t
<a name="l03638"></a><a class="code" href="classUnicodeString.html#ae478d3988b5e05e0c552fbd766de69f7">03638</a> <a class="code" href="classUnicodeString.html#ae478d3988b5e05e0c552fbd766de69f7" title="Compare two Unicode strings in code point order.">UnicodeString::compareCodePointOrder</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03639"></a>03639 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompareCodePointOrder(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03640"></a>03640 
<a name="l03641"></a>03641 <span class="keyword">inline</span> int8_t
<a name="l03642"></a><a class="code" href="classUnicodeString.html#ac128831d632b323894b7f5851f2f6cbb">03642</a> <a class="code" href="classUnicodeString.html#ae478d3988b5e05e0c552fbd766de69f7" title="Compare two Unicode strings in code point order.">UnicodeString::compareCodePointOrder</a>(int32_t start,
<a name="l03643"></a>03643                                      int32_t _length,
<a name="l03644"></a>03644                                      <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText)<span class="keyword"> const</span>
<a name="l03645"></a>03645 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompareCodePointOrder(start, _length, srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03646"></a>03646 
<a name="l03647"></a>03647 <span class="keyword">inline</span> int8_t
<a name="l03648"></a><a class="code" href="classUnicodeString.html#a0992f7174f19a7060c88849867d1c676">03648</a> <a class="code" href="classUnicodeString.html#ae478d3988b5e05e0c552fbd766de69f7" title="Compare two Unicode strings in code point order.">UnicodeString::compareCodePointOrder</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03649"></a>03649                                      int32_t srcLength)<span class="keyword"> const</span>
<a name="l03650"></a>03650 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompareCodePointOrder(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), srcChars, 0, srcLength); }
<a name="l03651"></a>03651 
<a name="l03652"></a>03652 <span class="keyword">inline</span> int8_t
<a name="l03653"></a><a class="code" href="classUnicodeString.html#ab4d8310695ede2cb2ae567b42b4be23d">03653</a> <a class="code" href="classUnicodeString.html#ae478d3988b5e05e0c552fbd766de69f7" title="Compare two Unicode strings in code point order.">UnicodeString::compareCodePointOrder</a>(int32_t start,
<a name="l03654"></a>03654                                      int32_t _length,
<a name="l03655"></a>03655                                      <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03656"></a>03656                                      int32_t srcStart,
<a name="l03657"></a>03657                                      int32_t srcLength)<span class="keyword"> const</span>
<a name="l03658"></a>03658 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompareCodePointOrder(start, _length, srcText, srcStart, srcLength); }
<a name="l03659"></a>03659 
<a name="l03660"></a>03660 <span class="keyword">inline</span> int8_t
<a name="l03661"></a><a class="code" href="classUnicodeString.html#a6f4f499a6a85494afe6a59bb1fbbe757">03661</a> <a class="code" href="classUnicodeString.html#ae478d3988b5e05e0c552fbd766de69f7" title="Compare two Unicode strings in code point order.">UnicodeString::compareCodePointOrder</a>(int32_t start,
<a name="l03662"></a>03662                                      int32_t _length,
<a name="l03663"></a>03663                                      <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars)<span class="keyword"> const</span>
<a name="l03664"></a>03664 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompareCodePointOrder(start, _length, srcChars, 0, _length); }
<a name="l03665"></a>03665 
<a name="l03666"></a>03666 <span class="keyword">inline</span> int8_t
<a name="l03667"></a><a class="code" href="classUnicodeString.html#aa71f8cb059b71c6ca80b8539740d6cac">03667</a> <a class="code" href="classUnicodeString.html#ae478d3988b5e05e0c552fbd766de69f7" title="Compare two Unicode strings in code point order.">UnicodeString::compareCodePointOrder</a>(int32_t start,
<a name="l03668"></a>03668                                      int32_t _length,
<a name="l03669"></a>03669                                      <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03670"></a>03670                                      int32_t srcStart,
<a name="l03671"></a>03671                                      int32_t srcLength)<span class="keyword"> const</span>
<a name="l03672"></a>03672 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompareCodePointOrder(start, _length, srcChars, srcStart, srcLength); }
<a name="l03673"></a>03673 
<a name="l03674"></a>03674 <span class="keyword">inline</span> int8_t
<a name="l03675"></a><a class="code" href="classUnicodeString.html#a0de2de75dc86112cb63a5fc6c9cd874f">03675</a> <a class="code" href="classUnicodeString.html#a0de2de75dc86112cb63a5fc6c9cd874f" title="Compare two Unicode strings in code point order.">UnicodeString::compareCodePointOrderBetween</a>(int32_t start,
<a name="l03676"></a>03676                                             int32_t limit,
<a name="l03677"></a>03677                                             <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03678"></a>03678                                             int32_t srcStart,
<a name="l03679"></a>03679                                             int32_t srcLimit)<span class="keyword"> const</span>
<a name="l03680"></a>03680 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompareCodePointOrder(start, limit - start,
<a name="l03681"></a>03681            srcText, srcStart, srcLimit - srcStart); }
<a name="l03682"></a>03682 
<a name="l03683"></a>03683 <span class="keyword">inline</span> int8_t
<a name="l03684"></a>03684 UnicodeString::doCaseCompare(int32_t start,
<a name="l03685"></a>03685                              int32_t thisLength,
<a name="l03686"></a>03686                              <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;srcText,
<a name="l03687"></a>03687                              int32_t srcStart,
<a name="l03688"></a>03688                              int32_t srcLength,
<a name="l03689"></a>03689                              uint32_t options)<span class="keyword"> const</span>
<a name="l03690"></a>03690 <span class="keyword"></span>{
<a name="l03691"></a>03691   <span class="keywordflow">if</span>(srcText.<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>()) {
<a name="l03692"></a>03692     <span class="keywordflow">return</span> (int8_t)!<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>(); <span class="comment">// 0 if both are bogus, 1 otherwise</span>
<a name="l03693"></a>03693   } <span class="keywordflow">else</span> {
<a name="l03694"></a>03694     srcText.pinIndices(srcStart, srcLength);
<a name="l03695"></a>03695     <span class="keywordflow">return</span> doCaseCompare(start, thisLength, srcText.getArrayStart(), srcStart, srcLength, options);
<a name="l03696"></a>03696   }
<a name="l03697"></a>03697 }
<a name="l03698"></a>03698 
<a name="l03699"></a>03699 <span class="keyword">inline</span> int8_t
<a name="l03700"></a><a class="code" href="classUnicodeString.html#ac633b7697029cfe347dcae70ce732939">03700</a> <a class="code" href="classUnicodeString.html#ac633b7697029cfe347dcae70ce732939" title="Compare two strings case-insensitively using full case folding.">UnicodeString::caseCompare</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;text, uint32_t options)<span class="keyword"> const </span>{
<a name="l03701"></a>03701   <span class="keywordflow">return</span> doCaseCompare(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), options);
<a name="l03702"></a>03702 }
<a name="l03703"></a>03703 
<a name="l03704"></a>03704 <span class="keyword">inline</span> int8_t
<a name="l03705"></a><a class="code" href="classUnicodeString.html#a92f1f3ddf35f61e0bb0a05055f9e72c7">03705</a> <a class="code" href="classUnicodeString.html#ac633b7697029cfe347dcae70ce732939" title="Compare two strings case-insensitively using full case folding.">UnicodeString::caseCompare</a>(int32_t start,
<a name="l03706"></a>03706                            int32_t _length,
<a name="l03707"></a>03707                            <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;srcText,
<a name="l03708"></a>03708                            uint32_t options)<span class="keyword"> const </span>{
<a name="l03709"></a>03709   <span class="keywordflow">return</span> doCaseCompare(start, _length, srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), options);
<a name="l03710"></a>03710 }
<a name="l03711"></a>03711 
<a name="l03712"></a>03712 <span class="keyword">inline</span> int8_t
<a name="l03713"></a><a class="code" href="classUnicodeString.html#aa86524e659199fa9a3d0c6d8e4c89f2d">03713</a> <a class="code" href="classUnicodeString.html#ac633b7697029cfe347dcae70ce732939" title="Compare two strings case-insensitively using full case folding.">UnicodeString::caseCompare</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03714"></a>03714                            int32_t srcLength,
<a name="l03715"></a>03715                            uint32_t options)<span class="keyword"> const </span>{
<a name="l03716"></a>03716   <span class="keywordflow">return</span> doCaseCompare(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), srcChars, 0, srcLength, options);
<a name="l03717"></a>03717 }
<a name="l03718"></a>03718 
<a name="l03719"></a>03719 <span class="keyword">inline</span> int8_t
<a name="l03720"></a><a class="code" href="classUnicodeString.html#a6c7c33986b62cb279c06a601e7405db4">03720</a> <a class="code" href="classUnicodeString.html#ac633b7697029cfe347dcae70ce732939" title="Compare two strings case-insensitively using full case folding.">UnicodeString::caseCompare</a>(int32_t start,
<a name="l03721"></a>03721                            int32_t _length,
<a name="l03722"></a>03722                            <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;srcText,
<a name="l03723"></a>03723                            int32_t srcStart,
<a name="l03724"></a>03724                            int32_t srcLength,
<a name="l03725"></a>03725                            uint32_t options)<span class="keyword"> const </span>{
<a name="l03726"></a>03726   <span class="keywordflow">return</span> doCaseCompare(start, _length, srcText, srcStart, srcLength, options);
<a name="l03727"></a>03727 }
<a name="l03728"></a>03728 
<a name="l03729"></a>03729 <span class="keyword">inline</span> int8_t
<a name="l03730"></a><a class="code" href="classUnicodeString.html#a4f970386c68b335bd5a953c990437eb2">03730</a> <a class="code" href="classUnicodeString.html#ac633b7697029cfe347dcae70ce732939" title="Compare two strings case-insensitively using full case folding.">UnicodeString::caseCompare</a>(int32_t start,
<a name="l03731"></a>03731                            int32_t _length,
<a name="l03732"></a>03732                            <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03733"></a>03733                            uint32_t options)<span class="keyword"> const </span>{
<a name="l03734"></a>03734   <span class="keywordflow">return</span> doCaseCompare(start, _length, srcChars, 0, _length, options);
<a name="l03735"></a>03735 }
<a name="l03736"></a>03736 
<a name="l03737"></a>03737 <span class="keyword">inline</span> int8_t
<a name="l03738"></a><a class="code" href="classUnicodeString.html#a949a065b923a5da215c6e35aea741e03">03738</a> <a class="code" href="classUnicodeString.html#ac633b7697029cfe347dcae70ce732939" title="Compare two strings case-insensitively using full case folding.">UnicodeString::caseCompare</a>(int32_t start,
<a name="l03739"></a>03739                            int32_t _length,
<a name="l03740"></a>03740                            <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03741"></a>03741                            int32_t srcStart,
<a name="l03742"></a>03742                            int32_t srcLength,
<a name="l03743"></a>03743                            uint32_t options)<span class="keyword"> const </span>{
<a name="l03744"></a>03744   <span class="keywordflow">return</span> doCaseCompare(start, _length, srcChars, srcStart, srcLength, options);
<a name="l03745"></a>03745 }
<a name="l03746"></a>03746 
<a name="l03747"></a>03747 <span class="keyword">inline</span> int8_t
<a name="l03748"></a><a class="code" href="classUnicodeString.html#a17b496f8cfa59eb453d0af3c35cf52d8">03748</a> <a class="code" href="classUnicodeString.html#a17b496f8cfa59eb453d0af3c35cf52d8" title="Compare two strings case-insensitively using full case folding.">UnicodeString::caseCompareBetween</a>(int32_t start,
<a name="l03749"></a>03749                                   int32_t limit,
<a name="l03750"></a>03750                                   <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;srcText,
<a name="l03751"></a>03751                                   int32_t srcStart,
<a name="l03752"></a>03752                                   int32_t srcLimit,
<a name="l03753"></a>03753                                   uint32_t options)<span class="keyword"> const </span>{
<a name="l03754"></a>03754   <span class="keywordflow">return</span> doCaseCompare(start, limit - start, srcText, srcStart, srcLimit - srcStart, options);
<a name="l03755"></a>03755 }
<a name="l03756"></a>03756 
<a name="l03757"></a>03757 <span class="keyword">inline</span> int32_t
<a name="l03758"></a><a class="code" href="classUnicodeString.html#a1100d0d24f929546012ea6f71dc4809d">03758</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03759"></a>03759                int32_t srcStart,
<a name="l03760"></a>03760                int32_t srcLength,
<a name="l03761"></a>03761                int32_t start,
<a name="l03762"></a>03762                int32_t _length)<span class="keyword"> const</span>
<a name="l03763"></a>03763 <span class="keyword"></span>{
<a name="l03764"></a>03764   <span class="keywordflow">if</span>(!srcText.<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>()) {
<a name="l03765"></a>03765     srcText.pinIndices(srcStart, srcLength);
<a name="l03766"></a>03766     <span class="keywordflow">if</span>(srcLength &gt; 0) {
<a name="l03767"></a>03767       <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">indexOf</a>(srcText.getArrayStart(), srcStart, srcLength, start, _length);
<a name="l03768"></a>03768     }
<a name="l03769"></a>03769   }
<a name="l03770"></a>03770   <span class="keywordflow">return</span> -1;
<a name="l03771"></a>03771 }
<a name="l03772"></a>03772 
<a name="l03773"></a>03773 <span class="keyword">inline</span> int32_t
<a name="l03774"></a><a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21">03774</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03775"></a>03775 <span class="keyword"></span>{ <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">indexOf</a>(text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03776"></a>03776 
<a name="l03777"></a>03777 <span class="keyword">inline</span> int32_t
<a name="l03778"></a><a class="code" href="classUnicodeString.html#a8cc509d7e8167d4f3cb54279c92f0140">03778</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text,
<a name="l03779"></a>03779                int32_t start)<span class="keyword"> const </span>{
<a name="l03780"></a>03780   pinIndex(start);
<a name="l03781"></a>03781   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">indexOf</a>(text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), start, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - start);
<a name="l03782"></a>03782 }
<a name="l03783"></a>03783 
<a name="l03784"></a>03784 <span class="keyword">inline</span> int32_t
<a name="l03785"></a><a class="code" href="classUnicodeString.html#a6fd64f74511b448ec9ee15434fb3a09b">03785</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text,
<a name="l03786"></a>03786                int32_t start,
<a name="l03787"></a>03787                int32_t _length)<span class="keyword"> const</span>
<a name="l03788"></a>03788 <span class="keyword"></span>{ <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">indexOf</a>(text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), start, _length); }
<a name="l03789"></a>03789 
<a name="l03790"></a>03790 <span class="keyword">inline</span> int32_t
<a name="l03791"></a><a class="code" href="classUnicodeString.html#a2979c7d50ff98dc4778f66b6bc3c2eba">03791</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03792"></a>03792                int32_t srcLength,
<a name="l03793"></a>03793                int32_t start)<span class="keyword"> const </span>{
<a name="l03794"></a>03794   pinIndex(start);
<a name="l03795"></a>03795   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">indexOf</a>(srcChars, 0, srcLength, start, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - start);
<a name="l03796"></a>03796 }
<a name="l03797"></a>03797 
<a name="l03798"></a>03798 <span class="keyword">inline</span> int32_t
<a name="l03799"></a><a class="code" href="classUnicodeString.html#afef7ea1a41634a2cb705181a0901acf8">03799</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03800"></a>03800                int32_t srcLength,
<a name="l03801"></a>03801                int32_t start,
<a name="l03802"></a>03802                int32_t _length)<span class="keyword"> const</span>
<a name="l03803"></a>03803 <span class="keyword"></span>{ <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">indexOf</a>(srcChars, 0, srcLength, start, _length); }
<a name="l03804"></a>03804 
<a name="l03805"></a>03805 <span class="keyword">inline</span> int32_t
<a name="l03806"></a><a class="code" href="classUnicodeString.html#aaf31e1fcb5b1d50af7a66111da937097">03806</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l03807"></a>03807                int32_t start,
<a name="l03808"></a>03808                int32_t _length)<span class="keyword"> const</span>
<a name="l03809"></a>03809 <span class="keyword"></span>{ <span class="keywordflow">return</span> doIndexOf(c, start, _length); }
<a name="l03810"></a>03810 
<a name="l03811"></a>03811 <span class="keyword">inline</span> int32_t
<a name="l03812"></a><a class="code" href="classUnicodeString.html#a4317a47256f75125bbda1e8e4b3e6028">03812</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l03813"></a>03813                int32_t start,
<a name="l03814"></a>03814                int32_t _length)<span class="keyword"> const</span>
<a name="l03815"></a>03815 <span class="keyword"></span>{ <span class="keywordflow">return</span> doIndexOf(c, start, _length); }
<a name="l03816"></a>03816 
<a name="l03817"></a>03817 <span class="keyword">inline</span> int32_t
<a name="l03818"></a><a class="code" href="classUnicodeString.html#a87e9187b51ea0ec9f09fef60bfba675c">03818</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c)<span class="keyword"> const</span>
<a name="l03819"></a>03819 <span class="keyword"></span>{ <span class="keywordflow">return</span> doIndexOf(c, 0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03820"></a>03820 
<a name="l03821"></a>03821 <span class="keyword">inline</span> int32_t
<a name="l03822"></a><a class="code" href="classUnicodeString.html#a30bdd224b64c0e6267595a15c93fc3a7">03822</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c)<span class="keyword"> const</span>
<a name="l03823"></a>03823 <span class="keyword"></span>{ <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">indexOf</a>(c, 0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03824"></a>03824 
<a name="l03825"></a>03825 <span class="keyword">inline</span> int32_t
<a name="l03826"></a><a class="code" href="classUnicodeString.html#afbdcf763ceb9b97ab0616342a4f8f973">03826</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l03827"></a>03827                int32_t start)<span class="keyword"> const </span>{
<a name="l03828"></a>03828   pinIndex(start);
<a name="l03829"></a>03829   <span class="keywordflow">return</span> doIndexOf(c, start, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - start);
<a name="l03830"></a>03830 }
<a name="l03831"></a>03831 
<a name="l03832"></a>03832 <span class="keyword">inline</span> int32_t
<a name="l03833"></a><a class="code" href="classUnicodeString.html#ae47d3da37887c5be54e30ee9274b09e6">03833</a> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">UnicodeString::indexOf</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l03834"></a>03834                int32_t start)<span class="keyword"> const </span>{
<a name="l03835"></a>03835   pinIndex(start);
<a name="l03836"></a>03836   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a95d26a26d753346832a09d8f3fbc5c21" title="Locate in this the first occurrence of the characters in text, using bitwise comparison...">indexOf</a>(c, start, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - start);
<a name="l03837"></a>03837 }
<a name="l03838"></a>03838 
<a name="l03839"></a>03839 <span class="keyword">inline</span> int32_t
<a name="l03840"></a><a class="code" href="classUnicodeString.html#a70730e2064ad98a0f5cd377145a4d978">03840</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03841"></a>03841                int32_t srcLength,
<a name="l03842"></a>03842                int32_t start,
<a name="l03843"></a>03843                int32_t _length)<span class="keyword"> const</span>
<a name="l03844"></a>03844 <span class="keyword"></span>{ <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">lastIndexOf</a>(srcChars, 0, srcLength, start, _length); }
<a name="l03845"></a>03845 
<a name="l03846"></a>03846 <span class="keyword">inline</span> int32_t
<a name="l03847"></a><a class="code" href="classUnicodeString.html#a888a5eef6a80755f1e3455b6c5fb40f1">03847</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03848"></a>03848                int32_t srcLength,
<a name="l03849"></a>03849                int32_t start)<span class="keyword"> const </span>{
<a name="l03850"></a>03850   pinIndex(start);
<a name="l03851"></a>03851   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">lastIndexOf</a>(srcChars, 0, srcLength, start, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - start);
<a name="l03852"></a>03852 }
<a name="l03853"></a>03853 
<a name="l03854"></a>03854 <span class="keyword">inline</span> int32_t
<a name="l03855"></a><a class="code" href="classUnicodeString.html#a819576d305c2d69e6a8aa1d47dd27635">03855</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03856"></a>03856                int32_t srcStart,
<a name="l03857"></a>03857                int32_t srcLength,
<a name="l03858"></a>03858                int32_t start,
<a name="l03859"></a>03859                int32_t _length)<span class="keyword"> const</span>
<a name="l03860"></a>03860 <span class="keyword"></span>{
<a name="l03861"></a>03861   <span class="keywordflow">if</span>(!srcText.<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>()) {
<a name="l03862"></a>03862     srcText.pinIndices(srcStart, srcLength);
<a name="l03863"></a>03863     <span class="keywordflow">if</span>(srcLength &gt; 0) {
<a name="l03864"></a>03864       <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">lastIndexOf</a>(srcText.getArrayStart(), srcStart, srcLength, start, _length);
<a name="l03865"></a>03865     }
<a name="l03866"></a>03866   }
<a name="l03867"></a>03867   <span class="keywordflow">return</span> -1;
<a name="l03868"></a>03868 }
<a name="l03869"></a>03869 
<a name="l03870"></a>03870 <span class="keyword">inline</span> int32_t
<a name="l03871"></a><a class="code" href="classUnicodeString.html#a22eb2250c71d81826e74ec80b7efd71f">03871</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text,
<a name="l03872"></a>03872                int32_t start,
<a name="l03873"></a>03873                int32_t _length)<span class="keyword"> const</span>
<a name="l03874"></a>03874 <span class="keyword"></span>{ <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">lastIndexOf</a>(text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), start, _length); }
<a name="l03875"></a>03875 
<a name="l03876"></a>03876 <span class="keyword">inline</span> int32_t
<a name="l03877"></a><a class="code" href="classUnicodeString.html#a24b0b6c1064d0c2c7a96bf67f3704390">03877</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text,
<a name="l03878"></a>03878                int32_t start)<span class="keyword"> const </span>{
<a name="l03879"></a>03879   pinIndex(start);
<a name="l03880"></a>03880   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">lastIndexOf</a>(text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), start, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - start);
<a name="l03881"></a>03881 }
<a name="l03882"></a>03882 
<a name="l03883"></a>03883 <span class="keyword">inline</span> int32_t
<a name="l03884"></a><a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681">03884</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03885"></a>03885 <span class="keyword"></span>{ <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">lastIndexOf</a>(text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03886"></a>03886 
<a name="l03887"></a>03887 <span class="keyword">inline</span> int32_t
<a name="l03888"></a><a class="code" href="classUnicodeString.html#aa1d1bdeca0ea48faeff72e1fa0ac96c1">03888</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l03889"></a>03889                int32_t start,
<a name="l03890"></a>03890                int32_t _length)<span class="keyword"> const</span>
<a name="l03891"></a>03891 <span class="keyword"></span>{ <span class="keywordflow">return</span> doLastIndexOf(c, start, _length); }
<a name="l03892"></a>03892 
<a name="l03893"></a>03893 <span class="keyword">inline</span> int32_t
<a name="l03894"></a><a class="code" href="classUnicodeString.html#ab10f3a578417944a4bf82fe251874ef1">03894</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l03895"></a>03895                int32_t start,
<a name="l03896"></a>03896                int32_t _length)<span class="keyword"> const </span>{
<a name="l03897"></a>03897   <span class="keywordflow">return</span> doLastIndexOf(c, start, _length);
<a name="l03898"></a>03898 }
<a name="l03899"></a>03899 
<a name="l03900"></a>03900 <span class="keyword">inline</span> int32_t
<a name="l03901"></a><a class="code" href="classUnicodeString.html#a1e47f5a816151974defc56044f69b5f0">03901</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c)<span class="keyword"> const</span>
<a name="l03902"></a>03902 <span class="keyword"></span>{ <span class="keywordflow">return</span> doLastIndexOf(c, 0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03903"></a>03903 
<a name="l03904"></a>03904 <span class="keyword">inline</span> int32_t
<a name="l03905"></a><a class="code" href="classUnicodeString.html#a05607edd87bf7d42ba92437d4acd3201">03905</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c)<span class="keyword"> const </span>{
<a name="l03906"></a>03906   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">lastIndexOf</a>(c, 0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>());
<a name="l03907"></a>03907 }
<a name="l03908"></a>03908 
<a name="l03909"></a>03909 <span class="keyword">inline</span> int32_t
<a name="l03910"></a><a class="code" href="classUnicodeString.html#a4b36bd76b30462f824dbd50c83ddc1c7">03910</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c,
<a name="l03911"></a>03911                int32_t start)<span class="keyword"> const </span>{
<a name="l03912"></a>03912   pinIndex(start);
<a name="l03913"></a>03913   <span class="keywordflow">return</span> doLastIndexOf(c, start, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - start);
<a name="l03914"></a>03914 }
<a name="l03915"></a>03915 
<a name="l03916"></a>03916 <span class="keyword">inline</span> int32_t
<a name="l03917"></a><a class="code" href="classUnicodeString.html#af32e8297171296abc6f5f65a6532e982">03917</a> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">UnicodeString::lastIndexOf</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c,
<a name="l03918"></a>03918                int32_t start)<span class="keyword"> const </span>{
<a name="l03919"></a>03919   pinIndex(start);
<a name="l03920"></a>03920   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#ac4b5689a7a60e28378dd6bf9f06d8681" title="Locate in this the last occurrence of the characters in text, using bitwise comparison...">lastIndexOf</a>(c, start, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - start);
<a name="l03921"></a>03921 }
<a name="l03922"></a>03922 
<a name="l03923"></a>03923 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03924"></a><a class="code" href="classUnicodeString.html#ab0e077b76c436892cd654438cac91158">03924</a> <a class="code" href="classUnicodeString.html#ab0e077b76c436892cd654438cac91158" title="Determine if this starts with the characters in text.">UnicodeString::startsWith</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03925"></a>03925 <span class="keyword"></span>{ <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#aceb5ebe345197e0932d6b1c49a63493e" title="Compare the characters bitwise in this UnicodeString to the characters in text.">compare</a>(0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) == 0; }
<a name="l03926"></a>03926 
<a name="l03927"></a>03927 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03928"></a><a class="code" href="classUnicodeString.html#afd20f639672a52e36825458462ddcd7f">03928</a> <a class="code" href="classUnicodeString.html#ab0e077b76c436892cd654438cac91158" title="Determine if this starts with the characters in text.">UnicodeString::startsWith</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03929"></a>03929               int32_t srcStart,
<a name="l03930"></a>03930               int32_t srcLength)<span class="keyword"> const</span>
<a name="l03931"></a>03931 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, srcLength, srcText, srcStart, srcLength) == 0; }
<a name="l03932"></a>03932 
<a name="l03933"></a>03933 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03934"></a><a class="code" href="classUnicodeString.html#ad12b7ef01da4555975a5cf9a4600d23e">03934</a> <a class="code" href="classUnicodeString.html#ab0e077b76c436892cd654438cac91158" title="Determine if this starts with the characters in text.">UnicodeString::startsWith</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03935"></a>03935               int32_t srcLength)<span class="keyword"> const</span>
<a name="l03936"></a>03936 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, srcLength, srcChars, 0, srcLength) == 0; }
<a name="l03937"></a>03937 
<a name="l03938"></a>03938 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03939"></a><a class="code" href="classUnicodeString.html#a9f2cd1d245ca229be31991f3ed9d835a">03939</a> <a class="code" href="classUnicodeString.html#ab0e077b76c436892cd654438cac91158" title="Determine if this starts with the characters in text.">UnicodeString::startsWith</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03940"></a>03940               int32_t srcStart,
<a name="l03941"></a>03941               int32_t srcLength)<span class="keyword"> const</span>
<a name="l03942"></a>03942 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(0, srcLength, srcChars, srcStart, srcLength) == 0;}
<a name="l03943"></a>03943 
<a name="l03944"></a>03944 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03945"></a><a class="code" href="classUnicodeString.html#ab720aa6e352deda84f988bc0e8fe2db4">03945</a> <a class="code" href="classUnicodeString.html#ab720aa6e352deda84f988bc0e8fe2db4" title="Determine if this ends with the characters in text.">UnicodeString::endsWith</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; text)<span class="keyword"> const</span>
<a name="l03946"></a>03946 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCompare(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(),
<a name="l03947"></a>03947            text, 0, text.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) == 0; }
<a name="l03948"></a>03948 
<a name="l03949"></a>03949 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03950"></a><a class="code" href="classUnicodeString.html#a8eb8e157edc82cdcc51d9420ff3f610c">03950</a> <a class="code" href="classUnicodeString.html#ab720aa6e352deda84f988bc0e8fe2db4" title="Determine if this ends with the characters in text.">UnicodeString::endsWith</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03951"></a>03951             int32_t srcStart,
<a name="l03952"></a>03952             int32_t srcLength)<span class="keyword"> const </span>{
<a name="l03953"></a>03953   srcText.pinIndices(srcStart, srcLength);
<a name="l03954"></a>03954   <span class="keywordflow">return</span> doCompare(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - srcLength, srcLength,
<a name="l03955"></a>03955                    srcText, srcStart, srcLength) == 0;
<a name="l03956"></a>03956 }
<a name="l03957"></a>03957 
<a name="l03958"></a>03958 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03959"></a><a class="code" href="classUnicodeString.html#afe8c45af2965c45d76a387be46f57bc5">03959</a> <a class="code" href="classUnicodeString.html#ab720aa6e352deda84f988bc0e8fe2db4" title="Determine if this ends with the characters in text.">UnicodeString::endsWith</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03960"></a>03960             int32_t srcLength)<span class="keyword"> const </span>{
<a name="l03961"></a>03961   <span class="keywordflow">if</span>(srcLength &lt; 0) {
<a name="l03962"></a>03962     srcLength = <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5" title="Determine the length of an array of UChar.">u_strlen</a>(srcChars);
<a name="l03963"></a>03963   }
<a name="l03964"></a>03964   <span class="keywordflow">return</span> doCompare(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - srcLength, srcLength,
<a name="l03965"></a>03965                    srcChars, 0, srcLength) == 0;
<a name="l03966"></a>03966 }
<a name="l03967"></a>03967 
<a name="l03968"></a>03968 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l03969"></a><a class="code" href="classUnicodeString.html#a3fd044063a86573cd5f0b74bb58bd99a">03969</a> <a class="code" href="classUnicodeString.html#ab720aa6e352deda84f988bc0e8fe2db4" title="Determine if this ends with the characters in text.">UnicodeString::endsWith</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l03970"></a>03970             int32_t srcStart,
<a name="l03971"></a>03971             int32_t srcLength)<span class="keyword"> const </span>{
<a name="l03972"></a>03972   <span class="keywordflow">if</span>(srcLength &lt; 0) {
<a name="l03973"></a>03973     srcLength = <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5" title="Determine the length of an array of UChar.">u_strlen</a>(srcChars + srcStart);
<a name="l03974"></a>03974   }
<a name="l03975"></a>03975   <span class="keywordflow">return</span> doCompare(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - srcLength, srcLength,
<a name="l03976"></a>03976                    srcChars, srcStart, srcLength) == 0;
<a name="l03977"></a>03977 }
<a name="l03978"></a>03978 
<a name="l03979"></a>03979 <span class="comment">//========================================</span>
<a name="l03980"></a>03980 <span class="comment">// replace</span>
<a name="l03981"></a>03981 <span class="comment">//========================================</span>
<a name="l03982"></a>03982 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l03983"></a><a class="code" href="classUnicodeString.html#a53f142e2db860dcb7d9544b01904eb8c">03983</a> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">UnicodeString::replace</a>(int32_t start,
<a name="l03984"></a>03984                int32_t _length,
<a name="l03985"></a>03985                <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText)
<a name="l03986"></a>03986 { <span class="keywordflow">return</span> doReplace(start, _length, srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l03987"></a>03987 
<a name="l03988"></a>03988 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l03989"></a><a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476">03989</a> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">UnicodeString::replace</a>(int32_t start,
<a name="l03990"></a>03990                int32_t _length,
<a name="l03991"></a>03991                <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l03992"></a>03992                int32_t srcStart,
<a name="l03993"></a>03993                int32_t srcLength)
<a name="l03994"></a>03994 { <span class="keywordflow">return</span> doReplace(start, _length, srcText, srcStart, srcLength); }
<a name="l03995"></a>03995 
<a name="l03996"></a>03996 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l03997"></a><a class="code" href="classUnicodeString.html#a250f55bd8fbd8490852a0c90c5bcec4f">03997</a> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">UnicodeString::replace</a>(int32_t start,
<a name="l03998"></a>03998                int32_t _length,
<a name="l03999"></a>03999                <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l04000"></a>04000                int32_t srcLength)
<a name="l04001"></a>04001 { <span class="keywordflow">return</span> doReplace(start, _length, srcChars, 0, srcLength); }
<a name="l04002"></a>04002 
<a name="l04003"></a>04003 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04004"></a><a class="code" href="classUnicodeString.html#a67b906be4fc94fe57feb34ab10355922">04004</a> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">UnicodeString::replace</a>(int32_t start,
<a name="l04005"></a>04005                int32_t _length,
<a name="l04006"></a>04006                <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l04007"></a>04007                int32_t srcStart,
<a name="l04008"></a>04008                int32_t srcLength)
<a name="l04009"></a>04009 { <span class="keywordflow">return</span> doReplace(start, _length, srcChars, srcStart, srcLength); }
<a name="l04010"></a>04010 
<a name="l04011"></a>04011 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04012"></a><a class="code" href="classUnicodeString.html#af048ddbf8ecdcb90105b90f50375209c">04012</a> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">UnicodeString::replace</a>(int32_t start,
<a name="l04013"></a>04013                int32_t _length,
<a name="l04014"></a>04014                <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> srcChar)
<a name="l04015"></a>04015 { <span class="keywordflow">return</span> doReplace(start, _length, &amp;srcChar, 0, 1); }
<a name="l04016"></a>04016 
<a name="l04017"></a>04017 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04018"></a><a class="code" href="classUnicodeString.html#aa363771bfbdcb732ceccffbc2030b5ed">04018</a> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">UnicodeString::replace</a>(int32_t start,
<a name="l04019"></a>04019                int32_t _length,
<a name="l04020"></a>04020                <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> srcChar) {
<a name="l04021"></a>04021   <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> buffer[<a class="code" href="utf16_8h.html#ab14454ab71a81f0cf86e523e50690eee" title="The maximum number of 16-bit code units per Unicode code point (U+0000..U+10ffff)...">U16_MAX_LENGTH</a>];
<a name="l04022"></a>04022   int32_t count = 0;
<a name="l04023"></a>04023   <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isError = <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1" title="The FALSE value of a UBool.">FALSE</a>;
<a name="l04024"></a>04024   <a class="code" href="utf16_8h.html#a30e185424986bca1790c1ffe1e2a93b5" title="Append a code point to a string, overwriting 1 or 2 code units.">U16_APPEND</a>(buffer, count, <a class="code" href="utf16_8h.html#ab14454ab71a81f0cf86e523e50690eee" title="The maximum number of 16-bit code units per Unicode code point (U+0000..U+10ffff)...">U16_MAX_LENGTH</a>, srcChar, isError);
<a name="l04025"></a>04025   <span class="keywordflow">return</span> doReplace(start, _length, buffer, 0, count);
<a name="l04026"></a>04026 }
<a name="l04027"></a>04027 
<a name="l04028"></a>04028 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04029"></a><a class="code" href="classUnicodeString.html#a3e971aecee8c927be11601d022d3a2a4">04029</a> <a class="code" href="classUnicodeString.html#a3e971aecee8c927be11601d022d3a2a4" title="Replace the characters in the range [start, limit) with the characters in srcText...">UnicodeString::replaceBetween</a>(int32_t start,
<a name="l04030"></a>04030                   int32_t limit,
<a name="l04031"></a>04031                   <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText)
<a name="l04032"></a>04032 { <span class="keywordflow">return</span> doReplace(start, limit - start, srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l04033"></a>04033 
<a name="l04034"></a>04034 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04035"></a><a class="code" href="classUnicodeString.html#a8cb0ad3a526ebb049c25fc541bac2543">04035</a> <a class="code" href="classUnicodeString.html#a3e971aecee8c927be11601d022d3a2a4" title="Replace the characters in the range [start, limit) with the characters in srcText...">UnicodeString::replaceBetween</a>(int32_t start,
<a name="l04036"></a>04036                   int32_t limit,
<a name="l04037"></a>04037                   <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l04038"></a>04038                   int32_t srcStart,
<a name="l04039"></a>04039                   int32_t srcLimit)
<a name="l04040"></a>04040 { <span class="keywordflow">return</span> doReplace(start, limit - start, srcText, srcStart, srcLimit - srcStart); }
<a name="l04041"></a>04041 
<a name="l04042"></a>04042 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04043"></a><a class="code" href="classUnicodeString.html#a332cce292be22e3bc76a53f17c4ad6ff">04043</a> <a class="code" href="classUnicodeString.html#a332cce292be22e3bc76a53f17c4ad6ff" title="Replace all occurrences of characters in oldText with the characters in newText.">UnicodeString::findAndReplace</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; oldText,
<a name="l04044"></a>04044                   <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; newText)
<a name="l04045"></a>04045 { <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a332cce292be22e3bc76a53f17c4ad6ff" title="Replace all occurrences of characters in oldText with the characters in newText.">findAndReplace</a>(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), oldText, 0, oldText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(),
<a name="l04046"></a>04046             newText, 0, newText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l04047"></a>04047 
<a name="l04048"></a>04048 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04049"></a><a class="code" href="classUnicodeString.html#ae3ed2d6a16b461c531ad1a3f0bc66c91">04049</a> <a class="code" href="classUnicodeString.html#a332cce292be22e3bc76a53f17c4ad6ff" title="Replace all occurrences of characters in oldText with the characters in newText.">UnicodeString::findAndReplace</a>(int32_t start,
<a name="l04050"></a>04050                   int32_t _length,
<a name="l04051"></a>04051                   <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; oldText,
<a name="l04052"></a>04052                   <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; newText)
<a name="l04053"></a>04053 { <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a332cce292be22e3bc76a53f17c4ad6ff" title="Replace all occurrences of characters in oldText with the characters in newText.">findAndReplace</a>(start, _length, oldText, 0, oldText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(),
<a name="l04054"></a>04054             newText, 0, newText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l04055"></a>04055 
<a name="l04056"></a>04056 <span class="comment">// ============================</span>
<a name="l04057"></a>04057 <span class="comment">// extract</span>
<a name="l04058"></a>04058 <span class="comment">// ============================</span>
<a name="l04059"></a>04059 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l04060"></a>04060 UnicodeString::doExtract(int32_t start,
<a name="l04061"></a>04061              int32_t _length,
<a name="l04062"></a>04062              <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; target)<span class="keyword"> const</span>
<a name="l04063"></a>04063 <span class="keyword"></span>{ target.<a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">replace</a>(0, target.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), *<span class="keyword">this</span>, start, _length); }
<a name="l04064"></a>04064 
<a name="l04065"></a>04065 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l04066"></a><a class="code" href="classUnicodeString.html#a9b2d4e417740becdb24a59fab263b8e3">04066</a> <a class="code" href="classUnicodeString.html#a9b2d4e417740becdb24a59fab263b8e3" title="Copy the characters in the range [start, start + length) into the array dst, beginning...">UnicodeString::extract</a>(int32_t start,
<a name="l04067"></a>04067                int32_t _length,
<a name="l04068"></a>04068                <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *target,
<a name="l04069"></a>04069                int32_t targetStart)<span class="keyword"> const</span>
<a name="l04070"></a>04070 <span class="keyword"></span>{ doExtract(start, _length, target, targetStart); }
<a name="l04071"></a>04071 
<a name="l04072"></a>04072 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l04073"></a><a class="code" href="classUnicodeString.html#a36effb107202af602f11e587375357f8">04073</a> <a class="code" href="classUnicodeString.html#a9b2d4e417740becdb24a59fab263b8e3" title="Copy the characters in the range [start, start + length) into the array dst, beginning...">UnicodeString::extract</a>(int32_t start,
<a name="l04074"></a>04074                int32_t _length,
<a name="l04075"></a>04075                <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; target)<span class="keyword"> const</span>
<a name="l04076"></a>04076 <span class="keyword"></span>{ doExtract(start, _length, target); }
<a name="l04077"></a>04077 
<a name="l04078"></a>04078 <span class="preprocessor">#if !UCONFIG_NO_CONVERSION</span>
<a name="l04079"></a>04079 <span class="preprocessor"></span>
<a name="l04080"></a>04080 <span class="keyword">inline</span> int32_t
<a name="l04081"></a><a class="code" href="classUnicodeString.html#ac15fabe40a5101c6419492dc751da345">04081</a> <a class="code" href="classUnicodeString.html#a9b2d4e417740becdb24a59fab263b8e3" title="Copy the characters in the range [start, start + length) into the array dst, beginning...">UnicodeString::extract</a>(int32_t start,
<a name="l04082"></a>04082                int32_t _length,
<a name="l04083"></a>04083                <span class="keywordtype">char</span> *dst,
<a name="l04084"></a>04084                <span class="keyword">const</span> <span class="keywordtype">char</span> *codepage)<span class="keyword"> const</span>
<a name="l04085"></a>04085 <span class="keyword"></span>
<a name="l04086"></a>04086 <span class="keyword"></span>{
<a name="l04087"></a>04087   <span class="comment">// This dstSize value will be checked explicitly</span>
<a name="l04088"></a>04088 <span class="preprocessor">#if defined(__GNUC__)</span>
<a name="l04089"></a>04089 <span class="preprocessor"></span>  <span class="comment">// Ticket #7039: Clip length to the maximum valid length to the end of addressable memory given the starting address</span>
<a name="l04090"></a>04090   <span class="comment">// This is only an issue when using GCC and certain optimizations are turned on.</span>
<a name="l04091"></a>04091   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a9b2d4e417740becdb24a59fab263b8e3" title="Copy the characters in the range [start, start + length) into the array dst, beginning...">extract</a>(start, _length, dst, dst!=0 ? ((dst &gt;= (<span class="keywordtype">char</span>*)((<span class="keywordtype">size_t</span>)-1) - <a class="code" href="umachine_8h.html#ab5eb23180f7cc12b7d6c04a8ec067fdd" title="The largest value a 32 bit unsigned integer can hold.">UINT32_MAX</a>) ? (((<span class="keywordtype">char</span>*)<a class="code" href="umachine_8h.html#ab5eb23180f7cc12b7d6c04a8ec067fdd" title="The largest value a 32 bit unsigned integer can hold.">UINT32_MAX</a>) - dst) : UINT32_MAX) : 0, codepage);
<a name="l04092"></a>04092 <span class="preprocessor">#else</span>
<a name="l04093"></a>04093 <span class="preprocessor"></span>  <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a9b2d4e417740becdb24a59fab263b8e3" title="Copy the characters in the range [start, start + length) into the array dst, beginning...">extract</a>(start, _length, dst, dst!=0 ? 0xffffffff : 0, codepage);
<a name="l04094"></a>04094 <span class="preprocessor">#endif</span>
<a name="l04095"></a>04095 <span class="preprocessor"></span>}
<a name="l04096"></a>04096 
<a name="l04097"></a>04097 <span class="preprocessor">#endif</span>
<a name="l04098"></a>04098 <span class="preprocessor"></span>
<a name="l04099"></a>04099 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l04100"></a><a class="code" href="classUnicodeString.html#ad5dbb294a5eb01e1b4af82abc8eceeed">04100</a> <a class="code" href="classUnicodeString.html#ad5dbb294a5eb01e1b4af82abc8eceeed" title="Copy the characters in the range [start, limit) into the array dst, beginning at...">UnicodeString::extractBetween</a>(int32_t start,
<a name="l04101"></a>04101                   int32_t limit,
<a name="l04102"></a>04102                   <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *dst,
<a name="l04103"></a>04103                   int32_t dstStart)<span class="keyword"> const </span>{
<a name="l04104"></a>04104   pinIndex(start);
<a name="l04105"></a>04105   pinIndex(limit);
<a name="l04106"></a>04106   doExtract(start, limit - start, dst, dstStart);
<a name="l04107"></a>04107 }
<a name="l04108"></a>04108 
<a name="l04109"></a>04109 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>
<a name="l04110"></a><a class="code" href="classUnicodeString.html#a46e2d39320a4676b00ea9f1bb9ef0ec2">04110</a> <a class="code" href="classUnicodeString.html#a46e2d39320a4676b00ea9f1bb9ef0ec2" title="Create a temporary substring for the specified range.">UnicodeString::tempSubStringBetween</a>(int32_t start, int32_t limit)<span class="keyword"> const </span>{
<a name="l04111"></a>04111     <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a30401646a2726ade768c56b0b219faa0" title="Create a temporary substring for the specified range.">tempSubString</a>(start, limit - start);
<a name="l04112"></a>04112 }
<a name="l04113"></a>04113 
<a name="l04114"></a>04114 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>
<a name="l04115"></a>04115 UnicodeString::doCharAt(int32_t offset)<span class="keyword"> const</span>
<a name="l04116"></a>04116 <span class="keyword"></span>{
<a name="l04117"></a>04117   <span class="keywordflow">if</span>((uint32_t)offset &lt; (uint32_t)<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) {
<a name="l04118"></a>04118     <span class="keywordflow">return</span> getArrayStart()[offset];
<a name="l04119"></a>04119   } <span class="keywordflow">else</span> {
<a name="l04120"></a>04120     <span class="keywordflow">return</span> kInvalidUChar;
<a name="l04121"></a>04121   }
<a name="l04122"></a>04122 }
<a name="l04123"></a>04123 
<a name="l04124"></a>04124 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>
<a name="l04125"></a><a class="code" href="classUnicodeString.html#ae3ffb6e15396dff152cb459ce4008f90">04125</a> <a class="code" href="classUnicodeString.html#ae3ffb6e15396dff152cb459ce4008f90" title="Return the code unit at offset offset.">UnicodeString::charAt</a>(int32_t offset)<span class="keyword"> const</span>
<a name="l04126"></a>04126 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCharAt(offset); }
<a name="l04127"></a>04127 
<a name="l04128"></a>04128 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a>
<a name="l04129"></a><a class="code" href="classUnicodeString.html#acc98e688603bf1b2dbfd6303ec8783f5">04129</a> <a class="code" href="classUnicodeString.html#acc98e688603bf1b2dbfd6303ec8783f5" title="Return the code unit at offset offset.">UnicodeString::operator[] </a>(int32_t offset)<span class="keyword"> const</span>
<a name="l04130"></a>04130 <span class="keyword"></span>{ <span class="keywordflow">return</span> doCharAt(offset); }
<a name="l04131"></a>04131 
<a name="l04132"></a>04132 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a>
<a name="l04133"></a><a class="code" href="classUnicodeString.html#a9ca80740ef5199cf1809c66a4ef6ba3d">04133</a> <a class="code" href="classUnicodeString.html#a9ca80740ef5199cf1809c66a4ef6ba3d" title="Return the code point that contains the code unit at offset offset.">UnicodeString::char32At</a>(int32_t offset)<span class="keyword"> const</span>
<a name="l04134"></a>04134 <span class="keyword"></span>{
<a name="l04135"></a>04135   int32_t len = <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>();
<a name="l04136"></a>04136   <span class="keywordflow">if</span>((uint32_t)offset &lt; (uint32_t)len) {
<a name="l04137"></a>04137     <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *array = getArrayStart();
<a name="l04138"></a>04138     <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c;
<a name="l04139"></a>04139     <a class="code" href="utf16_8h.html#aa354b12f5f755fe734f957cde6d68bbe" title="Get a code point from a string at a random-access offset, without changing the offset...">U16_GET</a>(array, 0, offset, len, c);
<a name="l04140"></a>04140     <span class="keywordflow">return</span> c;
<a name="l04141"></a>04141   } <span class="keywordflow">else</span> {
<a name="l04142"></a>04142     <span class="keywordflow">return</span> kInvalidUChar;
<a name="l04143"></a>04143   }
<a name="l04144"></a>04144 }
<a name="l04145"></a>04145 
<a name="l04146"></a>04146 <span class="keyword">inline</span> int32_t
<a name="l04147"></a><a class="code" href="classUnicodeString.html#a121c8e74fb409a9b2e3a503f965f75f1">04147</a> <a class="code" href="classUnicodeString.html#a121c8e74fb409a9b2e3a503f965f75f1" title="Adjust a random-access offset so that it points to the beginning of a Unicode character...">UnicodeString::getChar32Start</a>(int32_t offset)<span class="keyword"> const </span>{
<a name="l04148"></a>04148   <span class="keywordflow">if</span>((uint32_t)offset &lt; (uint32_t)<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) {
<a name="l04149"></a>04149     <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *array = getArrayStart();
<a name="l04150"></a>04150     <a class="code" href="utf16_8h.html#a31c914801f71204ee90caa6c4d0c3c1b" title="Adjust a random-access offset to a code point boundary at the start of a code point...">U16_SET_CP_START</a>(array, 0, offset);
<a name="l04151"></a>04151     <span class="keywordflow">return</span> offset;
<a name="l04152"></a>04152   } <span class="keywordflow">else</span> {
<a name="l04153"></a>04153     <span class="keywordflow">return</span> 0;
<a name="l04154"></a>04154   }
<a name="l04155"></a>04155 }
<a name="l04156"></a>04156 
<a name="l04157"></a>04157 <span class="keyword">inline</span> int32_t
<a name="l04158"></a><a class="code" href="classUnicodeString.html#a20f1e4c661d0fc07c800ad8b4ec37587">04158</a> <a class="code" href="classUnicodeString.html#a20f1e4c661d0fc07c800ad8b4ec37587" title="Adjust a random-access offset so that it points behind a Unicode character.">UnicodeString::getChar32Limit</a>(int32_t offset)<span class="keyword"> const </span>{
<a name="l04159"></a>04159   int32_t len = <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>();
<a name="l04160"></a>04160   <span class="keywordflow">if</span>((uint32_t)offset &lt; (uint32_t)len) {
<a name="l04161"></a>04161     <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *array = getArrayStart();
<a name="l04162"></a>04162     <a class="code" href="utf16_8h.html#a3d5ff64af4bf16cbf9a830743a5c74a4" title="Adjust a random-access offset to a code point boundary after a code point.">U16_SET_CP_LIMIT</a>(array, 0, offset, len);
<a name="l04163"></a>04163     <span class="keywordflow">return</span> offset;
<a name="l04164"></a>04164   } <span class="keywordflow">else</span> {
<a name="l04165"></a>04165     <span class="keywordflow">return</span> len;
<a name="l04166"></a>04166   }
<a name="l04167"></a>04167 }
<a name="l04168"></a>04168 
<a name="l04169"></a>04169 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l04170"></a><a class="code" href="classUnicodeString.html#aeefca846dd927d3db49c0cdc45ce744c">04170</a> <a class="code" href="classUnicodeString.html#aeefca846dd927d3db49c0cdc45ce744c" title="Determine if this string is empty.">UnicodeString::isEmpty</a>()<span class="keyword"> const </span>{
<a name="l04171"></a>04171   <span class="keywordflow">return</span> fShortLength == 0;
<a name="l04172"></a>04172 }
<a name="l04173"></a>04173 
<a name="l04174"></a>04174 <span class="comment">//========================================</span>
<a name="l04175"></a>04175 <span class="comment">// Write implementation methods</span>
<a name="l04176"></a>04176 <span class="comment">//========================================</span>
<a name="l04177"></a>04177 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l04178"></a>04178 UnicodeString::setLength(int32_t len) {
<a name="l04179"></a>04179   <span class="keywordflow">if</span>(len &lt;= 127) {
<a name="l04180"></a>04180     fShortLength = (int8_t)len;
<a name="l04181"></a>04181   } <span class="keywordflow">else</span> {
<a name="l04182"></a>04182     fShortLength = (int8_t)-1;
<a name="l04183"></a>04183     fUnion.fFields.fLength = len;
<a name="l04184"></a>04184   }
<a name="l04185"></a>04185 }
<a name="l04186"></a>04186 
<a name="l04187"></a>04187 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l04188"></a>04188 UnicodeString::setToEmpty() {
<a name="l04189"></a>04189   fShortLength = 0;
<a name="l04190"></a>04190   fFlags = kShortString;
<a name="l04191"></a>04191 }
<a name="l04192"></a>04192 
<a name="l04193"></a>04193 <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l04194"></a>04194 UnicodeString::setArray(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *array, int32_t len, int32_t capacity) {
<a name="l04195"></a>04195   setLength(len);
<a name="l04196"></a>04196   fUnion.fFields.fArray = array;
<a name="l04197"></a>04197   fUnion.fFields.fCapacity = capacity;
<a name="l04198"></a>04198 }
<a name="l04199"></a>04199 
<a name="l04200"></a>04200 <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *
<a name="l04201"></a><a class="code" href="classUnicodeString.html#a8aecf2249fdb51e284270a6f31e2cd75">04201</a> <a class="code" href="classUnicodeString.html#a8aecf2249fdb51e284270a6f31e2cd75" title="Get a read-only pointer to the internal buffer, making sure that it is NUL-terminated...">UnicodeString::getTerminatedBuffer</a>() {
<a name="l04202"></a>04202   <span class="keywordflow">if</span>(!isWritable()) {
<a name="l04203"></a>04203     <span class="keywordflow">return</span> 0;
<a name="l04204"></a>04204   } <span class="keywordflow">else</span> {
<a name="l04205"></a>04205     <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *array = getArrayStart();
<a name="l04206"></a>04206     int32_t len = <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>();
<a name="l04207"></a>04207     <span class="keywordflow">if</span>(len &lt; <a class="code" href="classUnicodeString.html#a924521b1d7d9828ac9374e467144b0cc" title="Return the capacity of the internal buffer of the UnicodeString object.">getCapacity</a>() &amp;&amp; ((fFlags&amp;kRefCounted) == 0 || refCount() == 1)) {
<a name="l04208"></a>04208       <span class="comment">/*</span>
<a name="l04209"></a>04209 <span class="comment">       * kRefCounted: Do not write the NUL if the buffer is shared.</span>
<a name="l04210"></a>04210 <span class="comment">       * That is mostly safe, except when the length of one copy was modified</span>
<a name="l04211"></a>04211 <span class="comment">       * without copy-on-write, e.g., via truncate(newLength) or remove(void).</span>
<a name="l04212"></a>04212 <span class="comment">       * Then the NUL would be written into the middle of another copy&apos;s string.</span>
<a name="l04213"></a>04213 <span class="comment">       */</span>
<a name="l04214"></a>04214       <span class="keywordflow">if</span>(!(fFlags&amp;kBufferIsReadonly)) {
<a name="l04215"></a>04215         <span class="comment">/*</span>
<a name="l04216"></a>04216 <span class="comment">         * We must not write to a readonly buffer, but it is known to be</span>
<a name="l04217"></a>04217 <span class="comment">         * NUL-terminated if len&lt;capacity.</span>
<a name="l04218"></a>04218 <span class="comment">         * A shared, allocated buffer (refCount()&gt;1) must not have its contents</span>
<a name="l04219"></a>04219 <span class="comment">         * modified, but the NUL at [len] is beyond the string contents,</span>
<a name="l04220"></a>04220 <span class="comment">         * and multiple string objects and threads writing the same NUL into the</span>
<a name="l04221"></a>04221 <span class="comment">         * same location is harmless.</span>
<a name="l04222"></a>04222 <span class="comment">         * In all other cases, the buffer is fully writable and it is anyway safe</span>
<a name="l04223"></a>04223 <span class="comment">         * to write the NUL.</span>
<a name="l04224"></a>04224 <span class="comment">         *</span>
<a name="l04225"></a>04225 <span class="comment">         * Note: An earlier version of this code tested whether there is a NUL</span>
<a name="l04226"></a>04226 <span class="comment">         * at [len] already, but, while safe, it generated lots of warnings from</span>
<a name="l04227"></a>04227 <span class="comment">         * tools like valgrind and Purify.</span>
<a name="l04228"></a>04228 <span class="comment">         */</span>
<a name="l04229"></a>04229         array[len] = 0;
<a name="l04230"></a>04230       }
<a name="l04231"></a>04231       <span class="keywordflow">return</span> array;
<a name="l04232"></a>04232     } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(cloneArrayIfNeeded(len+1)) {
<a name="l04233"></a>04233       array = getArrayStart();
<a name="l04234"></a>04234       array[len] = 0;
<a name="l04235"></a>04235       <span class="keywordflow">return</span> array;
<a name="l04236"></a>04236     } <span class="keywordflow">else</span> {
<a name="l04237"></a>04237       <span class="keywordflow">return</span> 0;
<a name="l04238"></a>04238     }
<a name="l04239"></a>04239   }
<a name="l04240"></a>04240 }
<a name="l04241"></a>04241 
<a name="l04242"></a>04242 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04243"></a><a class="code" href="classUnicodeString.html#a1d75d4701b858d95a49dbc07f8d1ba6c">04243</a> <a class="code" href="classUnicodeString.html#a5dd1ec62e48abc757646189cbcf2baa7" title="Assignment operator.">UnicodeString::operator= </a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> ch)
<a name="l04244"></a>04244 { <span class="keywordflow">return</span> doReplace(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), &amp;ch, 0, 1); }
<a name="l04245"></a>04245 
<a name="l04246"></a>04246 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04247"></a><a class="code" href="classUnicodeString.html#a0d1a2c1f297ceab74014d51e45c421f4">04247</a> <a class="code" href="classUnicodeString.html#a5dd1ec62e48abc757646189cbcf2baa7" title="Assignment operator.">UnicodeString::operator= </a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> ch)
<a name="l04248"></a>04248 { <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">replace</a>(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), ch); }
<a name="l04249"></a>04249 
<a name="l04250"></a>04250 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04251"></a><a class="code" href="classUnicodeString.html#ac38d68fb81c7421b654d3287d9d54206">04251</a> <a class="code" href="classUnicodeString.html#a3897abda046dd38819aa8f2c8078861e" title="Set the text in the UnicodeString object to the characters in srcText in the range...">UnicodeString::setTo</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l04252"></a>04252              int32_t srcStart,
<a name="l04253"></a>04253              int32_t srcLength)
<a name="l04254"></a>04254 {
<a name="l04255"></a>04255   unBogus();
<a name="l04256"></a>04256   <span class="keywordflow">return</span> doReplace(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), srcText, srcStart, srcLength);
<a name="l04257"></a>04257 }
<a name="l04258"></a>04258 
<a name="l04259"></a>04259 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04260"></a><a class="code" href="classUnicodeString.html#a3897abda046dd38819aa8f2c8078861e">04260</a> <a class="code" href="classUnicodeString.html#a3897abda046dd38819aa8f2c8078861e" title="Set the text in the UnicodeString object to the characters in srcText in the range...">UnicodeString::setTo</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l04261"></a>04261              int32_t srcStart)
<a name="l04262"></a>04262 {
<a name="l04263"></a>04263   unBogus();
<a name="l04264"></a>04264   srcText.pinIndex(srcStart);
<a name="l04265"></a>04265   <span class="keywordflow">return</span> doReplace(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), srcText, srcStart, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>() - srcStart);
<a name="l04266"></a>04266 }
<a name="l04267"></a>04267 
<a name="l04268"></a>04268 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04269"></a><a class="code" href="classUnicodeString.html#a318d7dc15dfce8ff8e46721ccd5c1899">04269</a> <a class="code" href="classUnicodeString.html#a3897abda046dd38819aa8f2c8078861e" title="Set the text in the UnicodeString object to the characters in srcText in the range...">UnicodeString::setTo</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText)
<a name="l04270"></a>04270 {
<a name="l04271"></a>04271   unBogus();
<a name="l04272"></a>04272   <span class="keywordflow">return</span> doReplace(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>());
<a name="l04273"></a>04273 }
<a name="l04274"></a>04274 
<a name="l04275"></a>04275 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04276"></a><a class="code" href="classUnicodeString.html#a5bae314691db9ce0a805343bde6ea2b3">04276</a> <a class="code" href="classUnicodeString.html#a3897abda046dd38819aa8f2c8078861e" title="Set the text in the UnicodeString object to the characters in srcText in the range...">UnicodeString::setTo</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l04277"></a>04277              int32_t srcLength)
<a name="l04278"></a>04278 {
<a name="l04279"></a>04279   unBogus();
<a name="l04280"></a>04280   <span class="keywordflow">return</span> doReplace(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), srcChars, 0, srcLength);
<a name="l04281"></a>04281 }
<a name="l04282"></a>04282 
<a name="l04283"></a>04283 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04284"></a><a class="code" href="classUnicodeString.html#a56c98d01627a9407cdb4605242ce4d73">04284</a> <a class="code" href="classUnicodeString.html#a3897abda046dd38819aa8f2c8078861e" title="Set the text in the UnicodeString object to the characters in srcText in the range...">UnicodeString::setTo</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> srcChar)
<a name="l04285"></a>04285 {
<a name="l04286"></a>04286   unBogus();
<a name="l04287"></a>04287   <span class="keywordflow">return</span> doReplace(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), &amp;srcChar, 0, 1);
<a name="l04288"></a>04288 }
<a name="l04289"></a>04289 
<a name="l04290"></a>04290 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04291"></a><a class="code" href="classUnicodeString.html#a79ab8bb668477b4ccebbdc894c1d321b">04291</a> <a class="code" href="classUnicodeString.html#a3897abda046dd38819aa8f2c8078861e" title="Set the text in the UnicodeString object to the characters in srcText in the range...">UnicodeString::setTo</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> srcChar)
<a name="l04292"></a>04292 {
<a name="l04293"></a>04293   unBogus();
<a name="l04294"></a>04294   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">replace</a>(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), srcChar);
<a name="l04295"></a>04295 }
<a name="l04296"></a>04296 
<a name="l04297"></a>04297 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04298"></a><a class="code" href="classUnicodeString.html#af7f9ab456ac8c07c5a24f15f5d7d4867">04298</a> <a class="code" href="classUnicodeString.html#af7f9ab456ac8c07c5a24f15f5d7d4867" title="Append the characters in srcText in the range [srcStart, srcStart + srcLength) to...">UnicodeString::append</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l04299"></a>04299               int32_t srcStart,
<a name="l04300"></a>04300               int32_t srcLength)
<a name="l04301"></a>04301 { <span class="keywordflow">return</span> doReplace(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, srcText, srcStart, srcLength); }
<a name="l04302"></a>04302 
<a name="l04303"></a>04303 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04304"></a><a class="code" href="classUnicodeString.html#a7030e96f6700e4877fe280b576b26e5b">04304</a> <a class="code" href="classUnicodeString.html#af7f9ab456ac8c07c5a24f15f5d7d4867" title="Append the characters in srcText in the range [srcStart, srcStart + srcLength) to...">UnicodeString::append</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText)
<a name="l04305"></a>04305 { <span class="keywordflow">return</span> doReplace(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l04306"></a>04306 
<a name="l04307"></a>04307 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04308"></a><a class="code" href="classUnicodeString.html#a6aceed0319029d2a606981840568821a">04308</a> <a class="code" href="classUnicodeString.html#af7f9ab456ac8c07c5a24f15f5d7d4867" title="Append the characters in srcText in the range [srcStart, srcStart + srcLength) to...">UnicodeString::append</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l04309"></a>04309               int32_t srcStart,
<a name="l04310"></a>04310               int32_t srcLength)
<a name="l04311"></a>04311 { <span class="keywordflow">return</span> doReplace(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, srcChars, srcStart, srcLength); }
<a name="l04312"></a>04312 
<a name="l04313"></a>04313 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04314"></a><a class="code" href="classUnicodeString.html#a8b8cd6ab8a7e406badf887291d26514c">04314</a> <a class="code" href="classUnicodeString.html#af7f9ab456ac8c07c5a24f15f5d7d4867" title="Append the characters in srcText in the range [srcStart, srcStart + srcLength) to...">UnicodeString::append</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l04315"></a>04315               int32_t srcLength)
<a name="l04316"></a>04316 { <span class="keywordflow">return</span> doReplace(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, srcChars, 0, srcLength); }
<a name="l04317"></a>04317 
<a name="l04318"></a>04318 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04319"></a><a class="code" href="classUnicodeString.html#a0b81068905fd081b01b06c0094ef3ca9">04319</a> <a class="code" href="classUnicodeString.html#af7f9ab456ac8c07c5a24f15f5d7d4867" title="Append the characters in srcText in the range [srcStart, srcStart + srcLength) to...">UnicodeString::append</a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> srcChar)
<a name="l04320"></a>04320 { <span class="keywordflow">return</span> doReplace(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, &amp;srcChar, 0, 1); }
<a name="l04321"></a>04321 
<a name="l04322"></a>04322 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04323"></a><a class="code" href="classUnicodeString.html#a6c5d32e904ccac606dfc49afa4b35c17">04323</a> <a class="code" href="classUnicodeString.html#af7f9ab456ac8c07c5a24f15f5d7d4867" title="Append the characters in srcText in the range [srcStart, srcStart + srcLength) to...">UnicodeString::append</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> srcChar) {
<a name="l04324"></a>04324   <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> buffer[<a class="code" href="utf16_8h.html#ab14454ab71a81f0cf86e523e50690eee" title="The maximum number of 16-bit code units per Unicode code point (U+0000..U+10ffff)...">U16_MAX_LENGTH</a>];
<a name="l04325"></a>04325   int32_t _length = 0;
<a name="l04326"></a>04326   <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isError = <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1" title="The FALSE value of a UBool.">FALSE</a>;
<a name="l04327"></a>04327   <a class="code" href="utf16_8h.html#a30e185424986bca1790c1ffe1e2a93b5" title="Append a code point to a string, overwriting 1 or 2 code units.">U16_APPEND</a>(buffer, _length, <a class="code" href="utf16_8h.html#ab14454ab71a81f0cf86e523e50690eee" title="The maximum number of 16-bit code units per Unicode code point (U+0000..U+10ffff)...">U16_MAX_LENGTH</a>, srcChar, isError);
<a name="l04328"></a>04328   <span class="keywordflow">return</span> doReplace(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, buffer, 0, _length);
<a name="l04329"></a>04329 }
<a name="l04330"></a>04330 
<a name="l04331"></a>04331 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04332"></a><a class="code" href="classUnicodeString.html#a3ac2e89f8f74c45ff13bf71e6062734b">04332</a> <a class="code" href="classUnicodeString.html#a3ac2e89f8f74c45ff13bf71e6062734b" title="Append operator.">UnicodeString::operator+= </a>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> ch)
<a name="l04333"></a>04333 { <span class="keywordflow">return</span> doReplace(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, &amp;ch, 0, 1); }
<a name="l04334"></a>04334 
<a name="l04335"></a>04335 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04336"></a><a class="code" href="classUnicodeString.html#a6e1482ab21f7ef9e5439981bad06f1ee">04336</a> <a class="code" href="classUnicodeString.html#a3ac2e89f8f74c45ff13bf71e6062734b" title="Append operator.">UnicodeString::operator+= </a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> ch) {
<a name="l04337"></a>04337   <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#af7f9ab456ac8c07c5a24f15f5d7d4867" title="Append the characters in srcText in the range [srcStart, srcStart + srcLength) to...">append</a>(ch);
<a name="l04338"></a>04338 }
<a name="l04339"></a>04339 
<a name="l04340"></a>04340 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04341"></a><a class="code" href="classUnicodeString.html#a7091ecbd1353a22279a93d95e05da385">04341</a> <a class="code" href="classUnicodeString.html#a3ac2e89f8f74c45ff13bf71e6062734b" title="Append operator.">UnicodeString::operator+= </a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText)
<a name="l04342"></a>04342 { <span class="keywordflow">return</span> doReplace(<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), 0, srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l04343"></a>04343 
<a name="l04344"></a>04344 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04345"></a><a class="code" href="classUnicodeString.html#a179a24c3973d134ca3e160a5def2ad1e">04345</a> <a class="code" href="classUnicodeString.html#a179a24c3973d134ca3e160a5def2ad1e" title="Insert the characters in srcText in the range [srcStart, srcStart + srcLength) into...">UnicodeString::insert</a>(int32_t start,
<a name="l04346"></a>04346               <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText,
<a name="l04347"></a>04347               int32_t srcStart,
<a name="l04348"></a>04348               int32_t srcLength)
<a name="l04349"></a>04349 { <span class="keywordflow">return</span> doReplace(start, 0, srcText, srcStart, srcLength); }
<a name="l04350"></a>04350 
<a name="l04351"></a>04351 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04352"></a><a class="code" href="classUnicodeString.html#aa44156212bb0ce6418ccbf1976fe126e">04352</a> <a class="code" href="classUnicodeString.html#a179a24c3973d134ca3e160a5def2ad1e" title="Insert the characters in srcText in the range [srcStart, srcStart + srcLength) into...">UnicodeString::insert</a>(int32_t start,
<a name="l04353"></a>04353               <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; srcText)
<a name="l04354"></a>04354 { <span class="keywordflow">return</span> doReplace(start, 0, srcText, 0, srcText.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l04355"></a>04355 
<a name="l04356"></a>04356 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04357"></a><a class="code" href="classUnicodeString.html#ac9388b206d00f8ca47d5dc417ef23211">04357</a> <a class="code" href="classUnicodeString.html#a179a24c3973d134ca3e160a5def2ad1e" title="Insert the characters in srcText in the range [srcStart, srcStart + srcLength) into...">UnicodeString::insert</a>(int32_t start,
<a name="l04358"></a>04358               <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l04359"></a>04359               int32_t srcStart,
<a name="l04360"></a>04360               int32_t srcLength)
<a name="l04361"></a>04361 { <span class="keywordflow">return</span> doReplace(start, 0, srcChars, srcStart, srcLength); }
<a name="l04362"></a>04362 
<a name="l04363"></a>04363 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04364"></a><a class="code" href="classUnicodeString.html#a97683dc8790f9310cec85002422540ab">04364</a> <a class="code" href="classUnicodeString.html#a179a24c3973d134ca3e160a5def2ad1e" title="Insert the characters in srcText in the range [srcStart, srcStart + srcLength) into...">UnicodeString::insert</a>(int32_t start,
<a name="l04365"></a>04365               <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *srcChars,
<a name="l04366"></a>04366               int32_t srcLength)
<a name="l04367"></a>04367 { <span class="keywordflow">return</span> doReplace(start, 0, srcChars, 0, srcLength); }
<a name="l04368"></a>04368 
<a name="l04369"></a>04369 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04370"></a><a class="code" href="classUnicodeString.html#aad4e081871687bb09edfde9ef87f6ef0">04370</a> <a class="code" href="classUnicodeString.html#a179a24c3973d134ca3e160a5def2ad1e" title="Insert the characters in srcText in the range [srcStart, srcStart + srcLength) into...">UnicodeString::insert</a>(int32_t start,
<a name="l04371"></a>04371               <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> srcChar)
<a name="l04372"></a>04372 { <span class="keywordflow">return</span> doReplace(start, 0, &amp;srcChar, 0, 1); }
<a name="l04373"></a>04373 
<a name="l04374"></a>04374 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04375"></a><a class="code" href="classUnicodeString.html#a59e54dc726e396baab496e0fb6467d51">04375</a> <a class="code" href="classUnicodeString.html#a179a24c3973d134ca3e160a5def2ad1e" title="Insert the characters in srcText in the range [srcStart, srcStart + srcLength) into...">UnicodeString::insert</a>(int32_t start,
<a name="l04376"></a>04376               <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> srcChar)
<a name="l04377"></a>04377 { <span class="keywordflow">return</span> <a class="code" href="classUnicodeString.html#a9a321102fc38bec175fa21b1f1aa2476" title="Replace the characters in the range [start, start + length) with the characters in...">replace</a>(start, 0, srcChar); }
<a name="l04378"></a>04378 
<a name="l04379"></a>04379 
<a name="l04380"></a>04380 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04381"></a><a class="code" href="classUnicodeString.html#aee0fec9568ee616e330627bf371eda8d">04381</a> <a class="code" href="classUnicodeString.html#aee0fec9568ee616e330627bf371eda8d" title="Remove all characters from the UnicodeString object.">UnicodeString::remove</a>()
<a name="l04382"></a>04382 {
<a name="l04383"></a>04383   <span class="comment">// remove() of a bogus string makes the string empty and non-bogus</span>
<a name="l04384"></a>04384   <span class="comment">// we also un-alias a read-only alias to deal with NUL-termination</span>
<a name="l04385"></a>04385   <span class="comment">// issues with getTerminatedBuffer()</span>
<a name="l04386"></a>04386   <span class="keywordflow">if</span>(fFlags &amp; (kIsBogus|kBufferIsReadonly)) {
<a name="l04387"></a>04387     setToEmpty();
<a name="l04388"></a>04388   } <span class="keywordflow">else</span> {
<a name="l04389"></a>04389     fShortLength = 0;
<a name="l04390"></a>04390   }
<a name="l04391"></a>04391   <span class="keywordflow">return</span> *<span class="keyword">this</span>;
<a name="l04392"></a>04392 }
<a name="l04393"></a>04393 
<a name="l04394"></a>04394 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04395"></a><a class="code" href="classUnicodeString.html#ab54182e0d304a37c883d8c74df6139df">04395</a> <a class="code" href="classUnicodeString.html#aee0fec9568ee616e330627bf371eda8d" title="Remove all characters from the UnicodeString object.">UnicodeString::remove</a>(int32_t start,
<a name="l04396"></a>04396              int32_t _length)
<a name="l04397"></a>04397 {
<a name="l04398"></a>04398     <span class="keywordflow">if</span>(start &lt;= 0 &amp;&amp; _length == <a class="code" href="umachine_8h.html#a181807730d4a375f848ba139813ce04f" title="The largest value a 32 bit signed integer can hold.">INT32_MAX</a>) {
<a name="l04399"></a>04399         <span class="comment">// remove(guaranteed everything) of a bogus string makes the string empty and non-bogus</span>
<a name="l04400"></a>04400         <span class="keywordflow">return</span> <span class="keyword">remove</span>();
<a name="l04401"></a>04401     }
<a name="l04402"></a>04402     <span class="keywordflow">return</span> doReplace(start, _length, <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4" title="Define NULL if necessary, to 0 for C++ and to ((void *)0) for C.">NULL</a>, 0, 0);
<a name="l04403"></a>04403 }
<a name="l04404"></a>04404 
<a name="l04405"></a>04405 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04406"></a><a class="code" href="classUnicodeString.html#a6a901da92dd8e9bc1e1f168033175240">04406</a> <a class="code" href="classUnicodeString.html#a6a901da92dd8e9bc1e1f168033175240" title="Remove the characters in the range [start, limit) from the UnicodeString object.">UnicodeString::removeBetween</a>(int32_t start,
<a name="l04407"></a>04407                 int32_t limit)
<a name="l04408"></a>04408 { <span class="keywordflow">return</span> doReplace(start, limit - start, <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4" title="Define NULL if necessary, to 0 for C++ and to ((void *)0) for C.">NULL</a>, 0, 0); }
<a name="l04409"></a>04409 
<a name="l04410"></a>04410 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &amp;
<a name="l04411"></a><a class="code" href="classUnicodeString.html#a7925ea8813653cde409f3a615c70ee8e">04411</a> <a class="code" href="classUnicodeString.html#a7925ea8813653cde409f3a615c70ee8e" title="Retain only the characters in the range [start, limit) from the UnicodeString object...">UnicodeString::retainBetween</a>(int32_t start, int32_t limit) {
<a name="l04412"></a>04412   <a class="code" href="classUnicodeString.html#ad8fe3cabef409468a11b77111de45ebc" title="Truncate this UnicodeString to the targetLength.">truncate</a>(limit);
<a name="l04413"></a>04413   <span class="keywordflow">return</span> doReplace(0, start, <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4" title="Define NULL if necessary, to 0 for C++ and to ((void *)0) for C.">NULL</a>, 0, 0);
<a name="l04414"></a>04414 }
<a name="l04415"></a>04415 
<a name="l04416"></a>04416 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>
<a name="l04417"></a><a class="code" href="classUnicodeString.html#ad8fe3cabef409468a11b77111de45ebc">04417</a> <a class="code" href="classUnicodeString.html#ad8fe3cabef409468a11b77111de45ebc" title="Truncate this UnicodeString to the targetLength.">UnicodeString::truncate</a>(int32_t targetLength)
<a name="l04418"></a>04418 {
<a name="l04419"></a>04419   <span class="keywordflow">if</span>(<a class="code" href="classUnicodeString.html#af61191bafca3f7ed295a9eba2a1eb401" title="Determine if this object contains a valid string.">isBogus</a>() &amp;&amp; targetLength == 0) {
<a name="l04420"></a>04420     <span class="comment">// truncate(0) of a bogus string makes the string empty and non-bogus</span>
<a name="l04421"></a>04421     unBogus();
<a name="l04422"></a>04422     <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1" title="The FALSE value of a UBool.">FALSE</a>;
<a name="l04423"></a>04423   } <span class="keywordflow">else</span> <span class="keywordflow">if</span>((uint32_t)targetLength &lt; (uint32_t)<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()) {
<a name="l04424"></a>04424     setLength(targetLength);
<a name="l04425"></a>04425     <span class="keywordflow">if</span>(fFlags&amp;kBufferIsReadonly) {
<a name="l04426"></a>04426       fUnion.fFields.fCapacity = targetLength;  <span class="comment">// not NUL-terminated any more</span>
<a name="l04427"></a>04427     }
<a name="l04428"></a>04428     <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d" title="The TRUE value of a UBool.">TRUE</a>;
<a name="l04429"></a>04429   } <span class="keywordflow">else</span> {
<a name="l04430"></a>04430     <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1" title="The FALSE value of a UBool.">FALSE</a>;
<a name="l04431"></a>04431   }
<a name="l04432"></a>04432 }
<a name="l04433"></a>04433 
<a name="l04434"></a>04434 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04435"></a><a class="code" href="classUnicodeString.html#ab1c93f89741c3307063dda2ab183ad9d">04435</a> <a class="code" href="classUnicodeString.html#ab1c93f89741c3307063dda2ab183ad9d" title="Reverse this UnicodeString in place.">UnicodeString::reverse</a>()
<a name="l04436"></a>04436 { <span class="keywordflow">return</span> doReverse(0, <a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>()); }
<a name="l04437"></a>04437 
<a name="l04438"></a>04438 <span class="keyword">inline</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp;
<a name="l04439"></a><a class="code" href="classUnicodeString.html#afbc7e70810c42b8c5d28606124826b3f">04439</a> <a class="code" href="classUnicodeString.html#ab1c93f89741c3307063dda2ab183ad9d" title="Reverse this UnicodeString in place.">UnicodeString::reverse</a>(int32_t start,
<a name="l04440"></a>04440                int32_t _length)
<a name="l04441"></a>04441 { <span class="keywordflow">return</span> doReverse(start, _length); }
<a name="l04442"></a>04442 
<a name="l04443"></a>04443 <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>
<a name="l04444"></a>04444 
<a name="l04445"></a>04445 <span class="preprocessor">#endif</span>
</pre></div></div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1"/><address style="text-align: right;"><small>Generated on 16 Mar 2010 for ICU 4.4 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>