aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a03924.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doxygen/nel/a03924.html')
-rw-r--r--docs/doxygen/nel/a03924.html846
1 files changed, 846 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a03924.html b/docs/doxygen/nel/a03924.html
new file mode 100644
index 00000000..c2aa04f8
--- /dev/null
+++ b/docs/doxygen/nel/a03924.html
@@ -0,0 +1,846 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: ucstring class Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>ucstring Class Reference</h1><code>#include &lt;<a class="el" href="a06640.html">ucstring.h</a>&gt;</code>
+<p>
+<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a05167.html#a18">ucchar</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa0">c_str</a> () const </td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa1">fromUtf8</a> (const std::string &amp;stringUtf8)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert the utf8 string into this ucstring (16 bits char). <a href="#ucstringa1"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03924.html">ucstring</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa2">operator+=</a> (const <a class="el" href="a05217.html#a0">ucstringbase</a> &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03924.html">ucstring</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa3">operator+=</a> (const std::string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03924.html">ucstring</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa4">operator+=</a> (const char *str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03924.html">ucstring</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa5">operator+=</a> (<a class="el" href="a05167.html#a18">ucchar</a> c)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03924.html">ucstring</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa6">operator=</a> (const <a class="el" href="a05217.html#a0">ucstringbase</a> &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03924.html">ucstring</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa7">operator=</a> (const std::string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03924.html">ucstring</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa8">operator=</a> (const char *str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03924.html">ucstring</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa9">operator=</a> (<a class="el" href="a05167.html#a18">ucchar</a> c)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa10">toString</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the controlled ucstring and returns the resulting string. <a href="#ucstringa10"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa11">toString</a> (std::string &amp;str) const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the controlled ucstring to a string str. <a href="#ucstringa11"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa12">toUtf8</a> () const </td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert this ucstring (16bits char) into a utf8 string. <a href="#ucstringa12"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa13">ucstring</a> (const std::string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa14">ucstring</a> (const <a class="el" href="a05217.html#a0">ucstringbase</a> &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa15">ucstring</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03924.html#ucstringa16">~ucstring</a> ()</td></tr>
+
+</table>
+<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="ucstringa15" doxytag="ucstring::ucstring" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ucstring::ucstring </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00046">46</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+<div class="fragment"><pre>00046 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa14" doxytag="ucstring::ucstring" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ucstring::ucstring </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a05217.html#a0">ucstringbase</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00048">48</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a06640.html#l00040">ucstringbase</a>.
+<p>
+<div class="fragment"><pre>00048 : <a class="code" href="a05217.html#a0">ucstringbase</a> (str) {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa13" doxytag="ucstring::ucstring" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ucstring::ucstring </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00050">50</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a06640.html#l00040">ucstringbase</a>.
+<p>
+<div class="fragment"><pre>00050 : <a class="code" href="a05217.html#a0">ucstringbase</a> ()
+00051 {
+00052 *<span class="keyword">this</span>=str;
+00053 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa16" doxytag="ucstring::~ucstring" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> ucstring::~<a class="el" href="a03924.html">ucstring</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00055">55</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+<div class="fragment"><pre>00055 {}
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="ucstringa0" doxytag="ucstring::c_str" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a05167.html#a18">ucchar</a>* ucstring::c_str </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00125">125</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05538.html#l02935">size</a>, and <a class="el" href="a06590.html#l00236">ucchar</a>.
+<p>
+Referenced by <a class="el" href="a05798.html#l00377">NLMISC::CI18N::readTextFile()</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <span class="keyword">const</span> <a class="code" href="a05167.html#a18">ucchar</a> *tmp = ucstringbase::c_str();
+00128 const_cast&lt;ucchar*&gt;(tmp)[<a class="code" href="a04115.html#a94">size</a>()] = 0;
+00129 <span class="keywordflow">return</span> tmp;
+00130 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa1" doxytag="ucstring::fromUtf8" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ucstring::fromUtf8 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>stringUtf8</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert the utf8 string into this ucstring (16 bits char).
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00191">191</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06590.html#l00236">ucchar</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05798.html#l00475">NLMISC::CI18N::readTextBuffer()</a>.
+<p>
+<div class="fragment"><pre>00192 {
+00193 <span class="comment">// clear the string</span>
+00194 erase();
+00195
+00196 <a class="code" href="a04558.html#a7">uint8</a> c;
+00197 <a class="code" href="a05167.html#a18">ucchar</a> code;
+00198 <a class="code" href="a04558.html#a14">sint</a> iterations = 0;
+00199
+00200 std::string::const_iterator first(stringUtf8.begin()), last(stringUtf8.end());
+00201 <span class="keywordflow">for</span> (; first != last; )
+00202 {
+00203 c = *first++;
+00204 code = c;
+00205
+00206 <span class="keywordflow">if</span> ((code &amp; 0xFE) == 0xFC)
+00207 {
+00208 code &amp;= 0x01;
+00209 iterations = 5;
+00210 }
+00211 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((code &amp; 0xFC) == 0xF8)
+00212 {
+00213 code &amp;= 0x03;
+00214 iterations = 4;
+00215 }
+00216 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((code &amp; 0xF8) == 0xF0)
+00217 {
+00218 code &amp;= 0x07;
+00219 iterations = 3;
+00220 }
+00221 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((code &amp; 0xF0) == 0xE0)
+00222 {
+00223 code &amp;= 0x0F;
+00224 iterations = 2;
+00225 }
+00226 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((code &amp; 0xE0) == 0xC0)
+00227 {
+00228 code &amp;= 0x1F;
+00229 iterations = 1;
+00230 }
+00231 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((code &amp; 0x80) == 0x80)
+00232 {
+00233 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"UCS: Invalid UTF-8 character"</span>);
+00234 }
+00235 <span class="keywordflow">else</span>
+00236 {
+00237 push_back(code);
+00238 iterations = 0;
+00239 }
+00240
+00241 <span class="keywordflow">if</span> (iterations)
+00242 {
+00243 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i &lt; iterations; i++)
+00244 {
+00245 <span class="keywordflow">if</span> (first == last)
+00246 {
+00247 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"UCS: Invalid UTF-8 character"</span>);
+00248 <span class="keywordflow">return</span>;
+00249 }
+00250
+00251 <a class="code" href="a04558.html#a7">uint8</a> ch;
+00252 ch = *first ++;
+00253
+00254 <span class="keywordflow">if</span> ((ch &amp; 0xC0) != 0x80)
+00255 {
+00256 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"UCS: Invalid UTF-8 character"</span>);
+00257 code = <span class="charliteral">'?'</span>;
+00258 <span class="keywordflow">break</span>;
+00259 }
+00260
+00261 code &lt;&lt;= 6;
+00262 code |= (<a class="code" href="a05167.html#a18">ucchar</a>)(ch &amp; 0x3F);
+00263 }
+00264 push_back(code);
+00265 }
+00266 }
+00267 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa2" doxytag="ucstring::operator+=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03924.html">ucstring</a>&amp; ucstring::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a05217.html#a0">ucstringbase</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00119">119</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+<div class="fragment"><pre>00120 {
+00121 ucstringbase::operator +=(str);
+00122 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00123 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa3" doxytag="ucstring::operator+=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03924.html">ucstring</a>&amp; ucstring::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00108">108</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00109 {
+00110 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a626">s</a> = <a class="code" href="a04115.html#a94">size</a>();
+00111 resize (s + str.size());
+00112 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i &lt; (<a class="code" href="a04558.html#a14">sint</a>) str.size(); i++)
+00113 {
+00114 operator[](s+i) = str[i];
+00115 }
+00116 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00117 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa4" doxytag="ucstring::operator+=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03924.html">ucstring</a>&amp; ucstring::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00097">97</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05538.html#l02935">size</a>.
+<p>
+<div class="fragment"><pre>00098 {
+00099 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a626">s</a> = <a class="code" href="a04115.html#a94">size</a>();
+00100 resize (s + strlen(str));
+00101 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i &lt; (<a class="code" href="a04558.html#a14">sint</a>) strlen(str); i++)
+00102 {
+00103 operator[](s+i) = str[i];
+00104 }
+00105 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00106 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa5" doxytag="ucstring::operator+=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03924.html">ucstring</a>&amp; ucstring::operator+= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05167.html#a18">ucchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>c</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00090">90</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05538.html#l02935">size</a>, and <a class="el" href="a06590.html#l00236">ucchar</a>.
+<p>
+<div class="fragment"><pre>00091 {
+00092 resize (<a class="code" href="a04115.html#a94">size</a>() + 1);
+00093 operator[](<a class="code" href="a04115.html#a94">size</a>()-1) = c;
+00094 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00095 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa6" doxytag="ucstring::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03924.html">ucstring</a>&amp; ucstring::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a05217.html#a0">ucstringbase</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00084">84</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+<div class="fragment"><pre>00085 {
+00086 ucstringbase::operator =(str);
+00087 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00088 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa7" doxytag="ucstring::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03924.html">ucstring</a>&amp; ucstring::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00074">74</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00075 {
+00076 resize (str.size ());
+00077 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i &lt; (<a class="code" href="a04558.html#a14">sint</a>) str.size (); i++)
+00078 {
+00079 operator[](i) = str[i];
+00080 }
+00081 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00082 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa8" doxytag="ucstring::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03924.html">ucstring</a>&amp; ucstring::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00064">64</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00065 {
+00066 resize (strlen (str));
+00067 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i &lt; (<a class="code" href="a04558.html#a14">sint</a>) strlen (str); i++)
+00068 {
+00069 operator[](i) = str[i];
+00070 }
+00071 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00072 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa9" doxytag="ucstring::operator=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03924.html">ucstring</a>&amp; ucstring::operator= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a05167.html#a18">ucchar</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>c</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00057">57</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a06590.html#l00236">ucchar</a>.
+<p>
+<div class="fragment"><pre>00058 {
+00059 resize (1);
+00060 operator[](0) = c;
+00061 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+00062 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa10" doxytag="ucstring::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string ucstring::toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Converts the controlled ucstring and returns the resulting string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00143">143</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+<div class="fragment"><pre>00144 {
+00145 std::string str;
+00146 <a class="code" href="a03924.html#ucstringa10">toString</a>(str);
+00147 <span class="keywordflow">return</span> str;
+00148 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa11" doxytag="ucstring::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ucstring::toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Converts the controlled ucstring to a string str.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00133">133</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05646.html#l00645">size</a>.
+<p>
+Referenced by <a class="el" href="a05668.html#l00313">NLMISC::CEntityIdTranslator::checkEntity()</a>, <a class="el" href="a05668.html#l00154">NLMISC::CEntityIdTranslator::getByEntity()</a>, <a class="el" href="a05668.html#l00590">NLMISC::CEntityIdTranslator::getRegisterableString()</a>, <a class="el" href="a05668.html#l00177">NLMISC::CEntityIdTranslator::isValidEntityName()</a>, <a class="el" href="a05668.html#l00633">NLMISC::NLMISC_COMMAND()</a>, <a class="el" href="a05635.html#l00302">STRING_MANAGER::TGetWorksheetHashValue::operator()()</a>, <a class="el" href="a05635.html#l00294">STRING_MANAGER::TGetWorksheetIdentifier::operator()()</a>, <a class="el" href="a05634.html#l00054">STRING_MANAGER::parseHashFromComment()</a>, <a class="el" href="a05634.html#l00472">STRING_MANAGER::preparePhraseFile()</a>, <a class="el" href="a05634.html#l00203">STRING_MANAGER::prepareStringFile()</a>, <a class="el" href="a05634.html#l00578">STRING_MANAGER::readExcelSheet()</a>, <a class="el" href="a05798.html#l00377">NLMISC::CI18N::readTextFile()</a>, and <a class="el" href="a05668.html#l00267">NLMISC::CEntityIdTranslator::registerEntity()</a>.
+<p>
+<div class="fragment"><pre>00134 {
+00135 str.resize (<a class="code" href="a04223.html#a587">size</a> ());
+00136 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a14">sint</a> i = 0; i &lt; (<a class="code" href="a04558.html#a14">sint</a>) str.size (); i++)
+00137 {
+00138 str[i] = (<span class="keywordtype">char</span>) operator[](i);
+00139 }
+00140 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="ucstringa12" doxytag="ucstring::toUtf8" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string ucstring::toUtf8 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap> const<code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert this ucstring (16bits char) into a utf8 string.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06640.html#l00151">151</a> of file <a class="el" href="a06640.html">ucstring.h</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a06590.html#l00236">ucchar</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05798.html#l00627">NLMISC::CI18N::encodeUTF8()</a>.
+<p>
+<div class="fragment"><pre>00152 {
+00153 std::string <a class="code" href="a04223.html#a643">res</a>;
+00154 ucstring::const_iterator first(begin()), last(end());
+00155 <span class="keywordflow">for</span> (; first != last; ++first)
+00156 {
+00157 <span class="comment">//ucchar c = *first;</span>
+00158 <a class="code" href="a04558.html#a15">uint</a> nbLoop = 0;
+00159 <span class="keywordflow">if</span> (*first &lt; 0x80)
+00160 <a class="code" href="a04223.html#a643">res</a> += char(*first);
+00161 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*first &lt; 0x800)
+00162 {
+00163 <a class="code" href="a05167.html#a18">ucchar</a> c = *first;
+00164 c = c &gt;&gt; 6;
+00165 c = c &amp; 0x1F;
+00166 <a class="code" href="a04223.html#a643">res</a> += c | 0xC0;
+00167 nbLoop = 1;
+00168 }
+00169 <span class="keywordflow">else</span> <span class="comment">/*if (*first &lt; 0x10000)*/</span>
+00170 {
+00171 <a class="code" href="a05167.html#a18">ucchar</a> c = *first;
+00172 c = c &gt;&gt; 12;
+00173 c = c &amp; 0x0F;
+00174 <a class="code" href="a04223.html#a643">res</a> += c | 0xE0;
+00175 nbLoop = 2;
+00176 }
+00177
+00178 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i=0; i&lt;nbLoop; ++i)
+00179 {
+00180 <a class="code" href="a05167.html#a18">ucchar</a> c = *first;
+00181 c = c &gt;&gt; ((nbLoop - i - 1) * 6);
+00182 c = c &amp; 0x3F;
+00183 <a class="code" href="a04223.html#a643">res</a> += char(c) | 0x80;
+00184 }
+00185 }
+00186 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a>;
+00187 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="a06640.html">ucstring.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 06:43:58 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>