Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 1072

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: csStringBase Class Reference (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csStringBase Class Reference</h1><!-- doxytag: class="csStringBase" -->This is a string class with a range of useful operators and type-safe overloads.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="csstring_8h-source.html">csutil/csstring.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csStringBase:</div>
<div class="dynsection">
<p><center><img src="classcsStringBase__inherit__graph.png" border="0" usemap="#csStringBase__inherit__map" alt="Inheritance graph"></center>
<map name="csStringBase__inherit__map">
<area shape="rect" href="classcsStringFast.html" title="Subclass of csStringBase that contains an internal buffer which is faster than the..." alt="" coords="5,84,163,111"><area shape="rect" href="classcsStringFast_3_010_01_4.html" title="csStringFast\&lt; 0 \&gt;" alt="" coords="187,84,323,111"><area shape="rect" href="classcsString.html" title="Thin wrapper around csStringFast&lt;&gt; with its default buffer size." alt="" coords="48,161,120,188"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classcsStringBase-members.html">List of all members.</a><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"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#afa92e06a93be385463acc480a5c6267">Append</a> (bool b)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append an unsigned character to this string.  <a href="#afa92e06a93be385463acc480a5c6267"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#7e9140b0fd67b4fb4ec6f6dcbc3838c0">Append</a> (char c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a signed character to this string.  <a href="#7e9140b0fd67b4fb4ec6f6dcbc3838c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#c782dca41c867a594ba355ea71362112">Append</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;Str, size_t Count=(size_t)-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a string to this one.  <a href="#c782dca41c867a594ba355ea71362112"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#ad6b8490554bc6ac6e57674053ce2b43">Append</a> (const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> *Str, size_t Count=(size_t)-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a null-terminated wide string to this one.  <a href="#ad6b8490554bc6ac6e57674053ce2b43"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#9b78c60659ea1e5bea610d4d2eb29016">Append</a> (const char *Str, size_t Count=(size_t)-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a null-terminated C-string to this one.  <a href="#9b78c60659ea1e5bea610d4d2eb29016"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#80a83b6d25fcb0c0ff7e56272b2223ee">Clear</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the string (so that it contains only a null terminator).  <a href="#80a83b6d25fcb0c0ff7e56272b2223ee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#0101903b6442cd5b096b2066b414b506">Clone</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a copy of this string.  <a href="#0101903b6442cd5b096b2066b414b506"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#6981c1a8e7c3fd32f7c2b07500a8cfb7">Collapse</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trim leading and trailing whitespace, and collapse all internal whitespace to a single space.  <a href="#6981c1a8e7c3fd32f7c2b07500a8cfb7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#a69d6ead2eaf3d8b16988c23120aefbc">Compare</a> (const char *iStr) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a null-terminated C- string is equal to this string.  <a href="#a69d6ead2eaf3d8b16988c23120aefbc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#d844a70d5283ead4635aa9594351438a">Compare</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;iStr) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if another string is equal to this one.  <a href="#d844a70d5283ead4635aa9594351438a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#74683d3e4de5470f22694f7d364dbc3a">CompareNoCase</a> (const char *iStr) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if a null-terminated C- string is equal to this string.  <a href="#74683d3e4de5470f22694f7d364dbc3a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#e473ca165cac58d946fd84096d4ca4bf">CompareNoCase</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;iStr) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if another string is equal to this one.  <a href="#e473ca165cac58d946fd84096d4ca4bf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#7f42f6c1649da51a8fc272d373b099ae">csStringBase</a> (unsigned char c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a single unsigned character.  <a href="#7f42f6c1649da51a8fc272d373b099ae"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#278161951858567d4fdacd801ec8132f">csStringBase</a> (char c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a single signed character.  <a href="#278161951858567d4fdacd801ec8132f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#159e58e24a63fb75677d17253d14cbcc">csStringBase</a> (const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> *src, size_t _length)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a wide string, given the length.  <a href="#159e58e24a63fb75677d17253d14cbcc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#61153b510d2f3bda7641371acdf1d9c9">csStringBase</a> (const char *src, size_t _length)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a C string, given the length.  <a href="#61153b510d2f3bda7641371acdf1d9c9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#5d354088acbc968f2a403daebad509f4">csStringBase</a> (const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> *src)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a null-terminated wide string.  <a href="#5d354088acbc968f2a403daebad509f4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#9abfa5ba1afb6ca2ee53cd3006dc0881">csStringBase</a> (const char *src)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a null-terminated C string.  <a href="#9abfa5ba1afb6ca2ee53cd3006dc0881"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#7c5e702bf792a66ade2dc85a27c87b9e">csStringBase</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;copy)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#7c5e702bf792a66ade2dc85a27c87b9e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#94e88399ae6290115fa78db53de8a9fe">csStringBase</a> (size_t Length)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object and reserve space for at least <code>Length</code> characters.  <a href="#94e88399ae6290115fa78db53de8a9fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#c750d62d710f7f035158c6254b23a20e">csStringBase</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an empty <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object.  <a href="#c750d62d710f7f035158c6254b23a20e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#d114e2a6ec1c71b42ce96b098e89263a">DeleteAt</a> (size_t Pos, size_t Count=1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a range of characters from the string.  <a href="#d114e2a6ec1c71b42ce96b098e89263a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#3fb2adf9b28acc7d2a69956187147243">Detach</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Detach the low-level null-terminated C-string buffer from the <a class="el" href="classcsString.html" title="Thin wrapper around csStringFast&lt;&gt; with its default buffer size.">csString</a> object.  <a href="#3fb2adf9b28acc7d2a69956187147243"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#b3b4188c608747378836d28651fffcb4">Downcase</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> flags=csUcMapSimple)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert this string to lower-case.  <a href="#b3b4188c608747378836d28651fffcb4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#26de49c84eb5f97149ce3c9e207b66b9">Empty</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the string (so that it contains only a null terminator).  <a href="#26de49c84eb5f97149ce3c9e207b66b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#1f34803960de1836d60727a6523fa0b8">Find</a> (const char *search, size_t pos=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first occurrence of <code>search</code> in this string starting at <code>pos</code>.  <a href="#1f34803960de1836d60727a6523fa0b8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#e9002d30682db9edb5fa07c652e508d5">FindFirst</a> (const char *c, size_t pos=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first occurrence of any of a set of characters in the string.  <a href="#e9002d30682db9edb5fa07c652e508d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#31c7ec5957203005995aec57d81c5974">FindFirst</a> (char c, size_t pos=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first occurrence of a character in the string.  <a href="#31c7ec5957203005995aec57d81c5974"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#b21b96d56a30dd34465559955c1159cf">FindLast</a> (const char *c, size_t pos=(size_t)-1) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the last occurrence of any of a set of characters in the string.  <a href="#b21b96d56a30dd34465559955c1159cf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#cf82c4069f169ea83d866c31ffcaae39">FindLast</a> (char c, size_t pos=(size_t)-1) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the last occurrence of a character in the string.  <a href="#cf82c4069f169ea83d866c31ffcaae39"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#342ca694ec2ac5c5e63893f7c67c6ef9">FindReplace</a> (const char *search, const char *replacement)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find all occurrences of <code>search</code> in this string and replace them with <code>replacement</code>.  <a href="#342ca694ec2ac5c5e63893f7c67c6ef9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#de4e92b57555b0ad88da71e639a65868">FindStr</a> (const char *search, size_t pos=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first occurrence of <code>search</code> in this string starting at <code>pos</code>.  <a href="#de4e92b57555b0ad88da71e639a65868"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#e4c08771f0061dadb125fb6873da2aa4">Format</a> (const char *format,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format this string using <a class="el" href="group__util.html#gb1da56117bc82aa18efd07d4de43cb17" title="Portable implementation of snprintf().">cs_snprintf()</a>-style formatting directives.  <a href="#e4c08771f0061dadb125fb6873da2aa4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#3cf8dbc33b6acaa9b7feef830d72f6e5">FormatV</a> (const char *format, va_list args)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Format this string using <a class="el" href="group__util.html#gb1da56117bc82aa18efd07d4de43cb17" title="Portable implementation of snprintf().">cs_snprintf()</a> formatting directives in a va_list.  <a href="#3cf8dbc33b6acaa9b7feef830d72f6e5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#fa5e7cc27c97e4c970c19f1172117f6a">Free</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the memory allocated for the string.  <a href="#fa5e7cc27c97e4c970c19f1172117f6a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#4a6fd37c735ecd0664bd3dafcef6fa76">GetAt</a> (size_t n) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the n'th character.  <a href="#4a6fd37c735ecd0664bd3dafcef6fa76"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#468fdc4e909ff172cd0f8fd5fb2c5cbc">GetCapacity</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current capacity, not including the space for the implicit null terminator.  <a href="#468fdc4e909ff172cd0f8fd5fb2c5cbc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
CS_VISIBILITY_DEFAULT <br>
char const *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#ef60d7152db4203e977d7a315e877183">GetData</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the null-terminated character array.  <a href="#ef60d7152db4203e977d7a315e877183"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char const *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#eb135ec8364e0f325d9b604d9e1076a3">GetDataSafe</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the null-terminated character array.  <a href="#eb135ec8364e0f325d9b604d9e1076a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#42d6b4801863632c133e11055d142ae0">GetGrowsBy</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the number of bytes by which the string grows.  <a href="#42d6b4801863632c133e11055d142ae0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#c4906246461d51c58deea989d9844b54">GetHash</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classcsStringBase.html#c4906246461d51c58deea989d9844b54" title="GetHash() as expected by the default csHashComputer&lt;&gt; implementation to allow...">GetHash()</a> as expected by the default csHashComputer&lt;&gt; implementation to allow use of csStrings as hash keys.  <a href="#c4906246461d51c58deea989d9844b54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#41b4a63a4375d6b65a7437927812c13c">Insert</a> (size_t Pos, char C)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert another string into this one.  <a href="#41b4a63a4375d6b65a7437927812c13c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#0c7d707c72e7a88802f7b3d695c1fe42">Insert</a> (size_t Pos, const char *Str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert another string into this one.  <a href="#0c7d707c72e7a88802f7b3d695c1fe42"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#f8f595753eba76e5de0ce3cd585eb023">Insert</a> (size_t Pos, const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;Str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert another string into this one.  <a href="#f8f595753eba76e5de0ce3cd585eb023"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#472c632aae458f90eb744cd50797c881">IsEmpty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if string is empty.  <a href="#472c632aae458f90eb744cd50797c881"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#4d4820df67848ac1040af1896c2dd280">Length</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query string length.  <a href="#4d4820df67848ac1040af1896c2dd280"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#d0143b44cc09c864c1c887a9b64c6a6d">LTrim</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trim leading whitespace.  <a href="#d0143b44cc09c864c1c887a9b64c6a6d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#c6c45d10062bb08b028d7dd6e1998989">operator const char *</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the null-terminated character array.  <a href="#c6c45d10062bb08b028d7dd6e1998989"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#562de37ae976199b6d7598f6d0ac8ac1">operator!=</a> (const char *Str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if another string is not equal to this one.  <a href="#562de37ae976199b6d7598f6d0ac8ac1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#31839f8dfd4436add855c8bae4e77256">operator!=</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;Str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if another string is not equal to this one.  <a href="#31839f8dfd4436add855c8bae4e77256"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#235175b40d6dea6ed6d8b13e655ba8a0">operator+</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;iStr) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add another string to this one and return the result as a new string.  <a href="#235175b40d6dea6ed6d8b13e655ba8a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3cedf625e5b0064baa99eea7646ba51b"></a><!-- doxytag: member="csStringBase::operator+=" ref="3cedf625e5b0064baa99eea7646ba51b" args="(char const *s)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#3cedf625e5b0064baa99eea7646ba51b">operator+=</a> (char const *s)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#5922aa080bb46df04c9fc209b9be943d">operator+=</a> (T const &amp;s)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a formatted value to this string.  <a href="#5922aa080bb46df04c9fc209b9be943d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#7d1c7d6e4ce243dc5503a7f1cd3e6504">operator&lt;</a> (const char *Str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if another string is less than this one.  <a href="#7d1c7d6e4ce243dc5503a7f1cd3e6504"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#8651a948b393e8ec3f5e7fd22e470f1f">operator&lt;</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;Str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if another string is less than this one.  <a href="#8651a948b393e8ec3f5e7fd22e470f1f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9177006494d5272367f68676b225a063"></a><!-- doxytag: member="csStringBase::operator&lt;&lt;" ref="9177006494d5272367f68676b225a063" args="(char const *v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#9177006494d5272367f68676b225a063">operator&lt;&lt;</a> (char const *v)</td></tr>

<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#357eb045f9b5daf073eb4d58568f371b">operator&lt;&lt;</a> (T const &amp;v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shift operator.  <a href="#357eb045f9b5daf073eb4d58568f371b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#bc902c60277c3939005049886f739478">operator=</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;copy)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign another string to this one.  <a href="#bc902c60277c3939005049886f739478"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#58d4dacb4750781420975958f7148f69">operator=</a> (T const &amp;s)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign a formatted value to this string.  <a href="#58d4dacb4750781420975958f7148f69"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#963ebe97762c4b5234acc294a9c4a00c">operator==</a> (const char *Str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if another string is equal to this one.  <a href="#963ebe97762c4b5234acc294a9c4a00c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#81cfd1bd211c0cabe2b63b89d0932120">operator==</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;Str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if another string is equal to this one.  <a href="#81cfd1bd211c0cabe2b63b89d0932120"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#3072ec3ccc52295f077665c8d7731153">operator&gt;</a> (const char *Str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check to see if a string is greater than this one.  <a href="#3072ec3ccc52295f077665c8d7731153"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#71ca68b148f24848fa09c44b21178ef6">operator&gt;</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;Str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check to see if a string is greater than this one.  <a href="#71ca68b148f24848fa09c44b21178ef6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#7ea88cc8f0004dfb8fc0e1bb3b411a2b">operator[]</a> (size_t n) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get n'th character.  <a href="#7ea88cc8f0004dfb8fc0e1bb3b411a2b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#219826acca9eb4d22e993d0069a49ab0">operator[]</a> (size_t n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a modifiable reference to n'th character.  <a href="#219826acca9eb4d22e993d0069a49ab0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#dc5466ebd6492c20f5fb9a63c36e3677">Overwrite</a> (size_t Pos, const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;Str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Overlay another string onto a part of this string.  <a href="#dc5466ebd6492c20f5fb9a63c36e3677"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#968e0f8e88d6ec95113c5443806d624d">PadCenter</a> (size_t NewSize, char PadChar= ' ')</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pad to a specified size with leading and trailing characters so as to center the string.  <a href="#968e0f8e88d6ec95113c5443806d624d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#2c25981e3a31cdbe8c167f65a9045e5f">PadLeft</a> (size_t NewSize, char PadChar= ' ')</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pad to a specified size with leading characters.  <a href="#2c25981e3a31cdbe8c167f65a9045e5f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#3ce51257b32481204fb5c0f9f5327285">PadRight</a> (size_t NewSize, char PadChar= ' ')</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pad to a specified size with trailing characters.  <a href="#3ce51257b32481204fb5c0f9f5327285"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#0a946146644b53c4a2c74bf134211edb">Reclaim</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set string buffer capacity to hold exactly the current content.  <a href="#0a946146644b53c4a2c74bf134211edb"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#b958068f04f4b40493de423aac9e68d7">Replace</a> (T const &amp;val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace contents of this string with the value in formatted form.  <a href="#b958068f04f4b40493de423aac9e68d7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#581a6271fb97c03c1ff4492c75d09aa6">Replace</a> (const char *Str, size_t Count=(size_t)-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace contents of this string with the contents of another.  <a href="#581a6271fb97c03c1ff4492c75d09aa6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#6bb4fbecd065935ea4c6e0d9420a4b3f">Replace</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;Str, size_t Count=(size_t)-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace contents of this string with the contents of another.  <a href="#6bb4fbecd065935ea4c6e0d9420a4b3f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#5fb9de53fd9334313112e57cc9158074">ReplaceAll</a> (const char *search, const char *replacement)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find all occurrences of <code>search</code> in this string and replace them with <code>replacement</code>.  <a href="#5fb9de53fd9334313112e57cc9158074"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#2a666b42b26271cf7c3f1835077f2702">RTrim</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trim trailing whitespace.  <a href="#2a666b42b26271cf7c3f1835077f2702"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#692506eeaa23d3724b20e64cb7e3d33a">SetAt</a> (size_t n, const char c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the n'th character.  <a href="#692506eeaa23d3724b20e64cb7e3d33a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#c30b6e2a574b5b2ada978221fd61f619">SetCapacity</a> (size_t NewSize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ask the string to allocate enough space to hold <code>NewSize</code> characters.  <a href="#c30b6e2a574b5b2ada978221fd61f619"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#5422a52dcbd57d1c065dbd2d5da822a0">SetGrowsBy</a> (size_t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advise the string that it should grow its allocated buffer by approximately this many bytes when more space is required.  <a href="#5422a52dcbd57d1c065dbd2d5da822a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#516a2096e7ebf2a5c4d9b8a35bda2527">ShrinkBestFit</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set string buffer capacity to hold exactly the current content.  <a href="#516a2096e7ebf2a5c4d9b8a35bda2527"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#b676e04050d9cd65456042db4ab902f8">Slice</a> (size_t start, size_t len=(size_t)-1) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy and return a portion of this string.  <a href="#b676e04050d9cd65456042db4ab902f8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#5b84f79df29cd13aacd871db355e6e38">StartsWith</a> (const char *iStr, bool ignore_case=false) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if this string starts with a null-terminated C- string.  <a href="#5b84f79df29cd13aacd871db355e6e38"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#3e181663db4925ce06a4cb3330896543">StartsWith</a> (const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;iStr, bool ignore_case=false) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if this string starts with another one.  <a href="#3e181663db4925ce06a4cb3330896543"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#b57f2869959666fd08005e2b5f31512f">SubString</a> (<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;sub, size_t start, size_t len=(size_t)-1) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy a portion of this string.  <a href="#b57f2869959666fd08005e2b5f31512f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#0639cc5243627e537b9673b936a3cd34">Trim</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trim leading and trailing whitespace.  <a href="#0639cc5243627e537b9673b936a3cd34"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#5d068615a96f7ddb6674d7ce3e9fb90c">Truncate</a> (size_t Len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Truncate the string.  <a href="#5d068615a96f7ddb6674d7ce3e9fb90c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#cffe4420e2f57c8cfa5e139856e8eb96">Upcase</a> (<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> flags=csUcMapSimple)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert this string to upper-case.  <a href="#cffe4420e2f57c8cfa5e139856e8eb96"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#198d11598821fc0390d5f964e681a731">~csStringBase</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy the <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a>.  <a href="#198d11598821fc0390d5f964e681a731"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="17436b08222226ecbc9e479d97b0fb40"></a><!-- doxytag: member="csStringBase::Append" ref="17436b08222226ecbc9e479d97b0fb40" args="(ulonglong v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#17436b08222226ecbc9e479d97b0fb40">Append</a> (<a class="el" href="group__util.html#g8c42bcc74c4498c45586ad15fab3b829">ulonglong</a> v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f57629c89e190d13da6645055a69bcf"></a><!-- doxytag: member="csStringBase::Append" ref="2f57629c89e190d13da6645055a69bcf" args="(longlong v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#2f57629c89e190d13da6645055a69bcf">Append</a> (<a class="el" href="group__util.html#g574e57efdc7bcebd6e3b5e043fdeb28c">longlong</a> v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f77c70011c8b8b6f1d6f573df070201e"></a><!-- doxytag: member="csStringBase::Append" ref="f77c70011c8b8b6f1d6f573df070201e" args="(double v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#f77c70011c8b8b6f1d6f573df070201e">Append</a> (double v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d2c71424870ef814d07870edc8bc880d"></a><!-- doxytag: member="csStringBase::Append" ref="d2c71424870ef814d07870edc8bc880d" args="(float v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#d2c71424870ef814d07870edc8bc880d">Append</a> (float v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f4cc775b0ff8366a907784fafb1d6b2a"></a><!-- doxytag: member="csStringBase::Append" ref="f4cc775b0ff8366a907784fafb1d6b2a" args="(unsigned long v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#f4cc775b0ff8366a907784fafb1d6b2a">Append</a> (unsigned long v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f40b95bf69f49e50f6a6fdc12077495"></a><!-- doxytag: member="csStringBase::Append" ref="2f40b95bf69f49e50f6a6fdc12077495" args="(long v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#2f40b95bf69f49e50f6a6fdc12077495">Append</a> (long v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b5b4b77a7d05dd20c25f0c4402064f0e"></a><!-- doxytag: member="csStringBase::Append" ref="b5b4b77a7d05dd20c25f0c4402064f0e" args="(unsigned int v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#b5b4b77a7d05dd20c25f0c4402064f0e">Append</a> (unsigned int v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c06294fe442f1a8c087c09d73e6c589c"></a><!-- doxytag: member="csStringBase::Append" ref="c06294fe442f1a8c087c09d73e6c589c" args="(int v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#c06294fe442f1a8c087c09d73e6c589c">Append</a> (int v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2af704fab945835a3b44a77480e868d6"></a><!-- doxytag: member="csStringBase::Append" ref="2af704fab945835a3b44a77480e868d6" args="(unsigned short v)" -->
<a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#2af704fab945835a3b44a77480e868d6">Append</a> (unsigned short v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#e92bd1ec1a8b2c865bf0753021b34dba">Append</a> (short v)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append the value, in formatted form, to this string.  <a href="#e92bd1ec1a8b2c865bf0753021b34dba"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#f6b05c0f5327d0ef2d7965da77a0857d">AppendFmt</a> (const char *format,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a string formatted using <a class="el" href="group__util.html#gb1da56117bc82aa18efd07d4de43cb17" title="Portable implementation of snprintf().">cs_snprintf()</a>-style formatting directives.  <a href="#f6b05c0f5327d0ef2d7965da77a0857d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#8452a9adeb4cff30b1377022ce307dff">AppendFmtV</a> (const char *format, va_list args)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a string formatted using <a class="el" href="group__util.html#gb1da56117bc82aa18efd07d4de43cb17" title="Portable implementation of snprintf().">cs_snprintf()</a>-style formatting directives.  <a href="#8452a9adeb4cff30b1377022ce307dff"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classcsStringBase.html#f2c3e849d354fb26928b7209a6496fae751e0a4991b5c496b9c6d9eb2dc5b9a8">DEFAULT_GROW_BY</a> =  64
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default number of bytes by which allocation should grow.  <a href="classcsStringBase.html#f2c3e849d354fb26928b7209a6496fae">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#5bda81678e09cfaf998f8f6881111758">ComputeNewSize</a> (size_t NewSize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute a new buffer size. Takes GrowBy into consideration.  <a href="#5bda81678e09cfaf998f8f6881111758"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#abe72c5a5d01846e3b9460782dcf3aa0">ExpandIfNeeded</a> (size_t NewSize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If necessary, increase the buffer capacity enough to hold <code>NewSize</code> bytes.  <a href="#abe72c5a5d01846e3b9460782dcf3aa0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#e85c1436f9f3a1edab265cbe760a9602">GetDataMutable</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the null-terminated character array.  <a href="#e85c1436f9f3a1edab265cbe760a9602"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#62840bf377294ec1d889857dadea6bf4">SetCapacityInternal</a> (size_t NewSize, bool soft)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the buffer to hold NewSize bytes.  <a href="#62840bf377294ec1d889857dadea6bf4"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#398de8de57fe8e648bb7207d00c31de3">Data</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">String buffer.  <a href="#398de8de57fe8e648bb7207d00c31de3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#f1d107f0797c57fc3e8f76bb7dce7696">GrowBy</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size in bytes by which allocated buffer is increased when needed.  <a href="#f1d107f0797c57fc3e8f76bb7dce7696"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#eb2631c85b01181bf069998cc5d8e62e">MaxSize</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size in bytes of allocated string buffer.  <a href="#eb2631c85b01181bf069998cc5d8e62e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringBase.html#56a011d57a287c82fc0e6dc0843ecc8a">Size</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of string; not including null terminator.  <a href="#56a011d57a287c82fc0e6dc0843ecc8a"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is a string class with a range of useful operators and type-safe overloads. 
<p>
Strings may contain arbitary binary data, including null bytes. It also guarantees that a null-terminator always follows the last stored character, thus you can safely use the return value from <a class="el" href="classcsStringBase.html#ef60d7152db4203e977d7a315e877183" title="Get a pointer to the null-terminated character array.">GetData()</a> and `operator char const*()' in calls to functions expecting C strings. The implicit null terminator is not included in the character count returned by <a class="el" href="classcsStringBase.html#4d4820df67848ac1040af1896c2dd280" title="Query string length.">Length()</a>. <p>
Like a typical C character string pointer, <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> can also represent a null pointer. This allows a non-string to be distinguished from an empty (zero-length) string. The <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> will represent a null-pointer in the following cases:<ul>
<li>When constructed with no arguments (the default constructor).</li><li>When constructed with an explicit null-pointer.</li><li>When assigned a null-pointer via operator=((char const*)0).</li><li>After an invocation of Replace((char const*)0).</li><li>After invocation of <a class="el" href="classcsStringBase.html#fa5e7cc27c97e4c970c19f1172117f6a" title="Free the memory allocated for the string.">csStringBase::Free()</a> or any method which is documented as invoking <a class="el" href="classcsStringBase.html#fa5e7cc27c97e4c970c19f1172117f6a" title="Free the memory allocated for the string.">Free()</a> as a side-effect, such as <a class="el" href="classcsStringBase.html#516a2096e7ebf2a5c4d9b8a35bda2527" title="Set string buffer capacity to hold exactly the current content.">ShrinkBestFit()</a>.</li><li>After invocation of <a class="el" href="classcsStringBase.html#3fb2adf9b28acc7d2a69956187147243" title="Detach the low-level null-terminated C-string buffer from the csString object.">csStringBase::Detach()</a>. </li></ul>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00052">52</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="f2c3e849d354fb26928b7209a6496fae"></a><!-- doxytag: member="csStringBase::@49" ref="f2c3e849d354fb26928b7209a6496fae" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum<code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default number of bytes by which allocation should grow. 
<p>
*** IMPORTANT *** This must be a power of two (i.e. 8, 16, 32, 64, etc.). <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="f2c3e849d354fb26928b7209a6496fae751e0a4991b5c496b9c6d9eb2dc5b9a8"></a><!-- doxytag: member="DEFAULT_GROW_BY" ref="f2c3e849d354fb26928b7209a6496fae751e0a4991b5c496b9c6d9eb2dc5b9a8" args="" -->DEFAULT_GROW_BY</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00059">59</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="c750d62d710f7f035158c6254b23a20e"></a><!-- doxytag: member="csStringBase::csStringBase" ref="c750d62d710f7f035158c6254b23a20e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an empty <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The newly constructed string represents a null-pointer. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00193">193</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="94e88399ae6290115fa78db53de8a9fe"></a><!-- doxytag: member="csStringBase::csStringBase" ref="94e88399ae6290115fa78db53de8a9fe" args="(size_t Length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Length</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object and reserve space for at least <code>Length</code> characters. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The newly constructed string represents a non-null zero-length string. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00202">202</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7c5e702bf792a66ade2dc85a27c87b9e"></a><!-- doxytag: member="csStringBase::csStringBase" ref="7c5e702bf792a66ade2dc85a27c87b9e" args="(const csStringBase &amp;copy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>copy</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The newly constructed string will represent a null-pointer if and only if the template string represented a null-pointer. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00211">211</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9abfa5ba1afb6ca2ee53cd3006dc0881"></a><!-- doxytag: member="csStringBase::csStringBase" ref="9abfa5ba1afb6ca2ee53cd3006dc0881" args="(const char *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>src</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a null-terminated C string. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The newly constructed string will represent a null-pointer if and only if the input argument is a null-pointer. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00220">220</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5d354088acbc968f2a403daebad509f4"></a><!-- doxytag: member="csStringBase::csStringBase" ref="5d354088acbc968f2a403daebad509f4" args="(const wchar_t *src)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a null-terminated wide string. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The newly constructed string will represent a null-pointer if and only if the input argument is a null-pointer. <p>
The string will be stored as UTF-8. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00230">230</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="61153b510d2f3bda7641371acdf1d9c9"></a><!-- doxytag: member="csStringBase::csStringBase" ref="61153b510d2f3bda7641371acdf1d9c9" args="(const char *src, size_t _length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>_length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a C string, given the length. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The newly constructed string will represent a null-pointer if and only if the input argument is a null-pointer. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00239">239</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="159e58e24a63fb75677d17253d14cbcc"></a><!-- doxytag: member="csStringBase::csStringBase" ref="159e58e24a63fb75677d17253d14cbcc" args="(const wchar_t *src, size_t _length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> *&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>_length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a wide string, given the length. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The newly constructed string will represent a null-pointer if and only if the input argument is a null-pointer. <p>
The string will be stored as UTF-8. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00249">249</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="278161951858567d4fdacd801ec8132f"></a><!-- doxytag: member="csStringBase::csStringBase" ref="278161951858567d4fdacd801ec8132f" args="(char c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a single signed character. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00254">254</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7f42f6c1649da51a8fc272d373b099ae"></a><!-- doxytag: member="csStringBase::csStringBase" ref="7f42f6c1649da51a8fc272d373b099ae" args="(unsigned char c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::csStringBase           </td>
          <td>(</td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a> object from a single unsigned character. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00259">259</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="198d11598821fc0390d5f964e681a731"></a><!-- doxytag: member="csStringBase::~csStringBase" ref="198d11598821fc0390d5f964e681a731" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual csStringBase::~csStringBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy the <a class="el" href="classcsStringBase.html" title="This is a string class with a range of useful operators and type-safe overloads.">csStringBase</a>. 
<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e92bd1ec1a8b2c865bf0753021b34dba"></a><!-- doxytag: member="csStringBase::Append" ref="e92bd1ec1a8b2c865bf0753021b34dba" args="(short v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Append           </td>
          <td>(</td>
          <td class="paramtype">short&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append the value, in formatted form, to this string. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00175">175</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="afa92e06a93be385463acc480a5c6267"></a><!-- doxytag: member="csStringBase::Append" ref="afa92e06a93be385463acc480a5c6267" args="(bool b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Append           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>b</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append an unsigned character to this string. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. Append a boolean (as a number -- 1 or 0) to this string. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00162">162</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7e9140b0fd67b4fb4ec6f6dcbc3838c0"></a><!-- doxytag: member="csStringBase::Append" ref="7e9140b0fd67b4fb4ec6f6dcbc3838c0" args="(char c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Append           </td>
          <td>(</td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append a signed character to this string. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c782dca41c867a594ba355ea71362112"></a><!-- doxytag: member="csStringBase::Append" ref="c782dca41c867a594ba355ea71362112" args="(const csStringBase &amp;Str, size_t Count=(size_t)-1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Append           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>Str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Count</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append a string to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>String which will be appended. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Count</em>&nbsp;</td><td>Number of characters from Str to append; if -1 (the default), then all characters from Str will be appended. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>

</div>
</div><p>
<a class="anchor" name="ad6b8490554bc6ac6e57674053ce2b43"></a><!-- doxytag: member="csStringBase::Append" ref="ad6b8490554bc6ac6e57674053ce2b43" args="(const wchar_t *Str, size_t Count=(size_t)-1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Append           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__util.html#g43124e776b499fd41c598b2f6d210242">wchar_t</a> *&nbsp;</td>
          <td class="paramname"> <em>Str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Count</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append a null-terminated wide string to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>String which will be appended. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Count</em>&nbsp;</td><td>Number of characters from Str to append; if -1 (the default), then all characters from Str will be appended. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The string will be appended as UTF-8. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9b78c60659ea1e5bea610d4d2eb29016"></a><!-- doxytag: member="csStringBase::Append" ref="9b78c60659ea1e5bea610d4d2eb29016" args="(const char *Str, size_t Count=(size_t)-1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Append           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Count</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append a null-terminated C-string to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>String which will be appended. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Count</em>&nbsp;</td><td>Number of characters from Str to append; if -1 (the default), then all characters from Str will be appended. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>

<p>Referenced by <a class="el" href="csutil_2eventnames_8h-source.html#l00278">csevJoystickOp()</a>, <a class="el" href="csutil_2eventnames_8h-source.html#l00189">csevMouse()</a>, <a class="el" href="csutil_2eventnames_8h-source.html#l00203">csevMouseOp()</a>, <a class="el" href="csstring_8h-source.html#l01013">csStringFast&lt; LEN &gt;::csStringFast()</a>, <a class="el" href="csstring_8h-source.html#l00947">operator+()</a>, and <a class="el" href="csutil_2stringarray_8h-source.html#l00224">csStringArray::SplitString()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f6b05c0f5327d0ef2d7965da77a0857d"></a><!-- doxytag: member="csStringBase::AppendFmt" ref="f6b05c0f5327d0ef2d7965da77a0857d" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::AppendFmt           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append a string formatted using <a class="el" href="group__util.html#gb1da56117bc82aa18efd07d4de43cb17" title="Portable implementation of snprintf().">cs_snprintf()</a>-style formatting directives. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__util.html">Notes about string formatting in Crystal Space</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="8452a9adeb4cff30b1377022ce307dff"></a><!-- doxytag: member="csStringBase::AppendFmtV" ref="8452a9adeb4cff30b1377022ce307dff" args="(const char *format, va_list args)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::AppendFmtV           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&nbsp;</td>
          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append a string formatted using <a class="el" href="group__util.html#gb1da56117bc82aa18efd07d4de43cb17" title="Portable implementation of snprintf().">cs_snprintf()</a>-style formatting directives. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__util.html">Notes about string formatting in Crystal Space</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="80a83b6d25fcb0c0ff7e56272b2223ee"></a><!-- doxytag: member="csStringBase::Clear" ref="80a83b6d25fcb0c0ff7e56272b2223ee" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Clear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear the string (so that it contains only a null terminator). 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is rigidly equivalent to <a class="el" href="classcsStringBase.html#26de49c84eb5f97149ce3c9e207b66b9" title="Clear the string (so that it contains only a null terminator).">Empty()</a>, but more idiomatic in terms of human language. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00349">349</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0101903b6442cd5b096b2066b414b506"></a><!-- doxytag: member="csStringBase::Clone" ref="0101903b6442cd5b096b2066b414b506" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a> csStringBase::Clone           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a copy of this string. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The newly constructed string will represent a null-pointer if and only if this string represents a null-pointer. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00706">706</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l00947">operator+()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6981c1a8e7c3fd32f7c2b07500a8cfb7"></a><!-- doxytag: member="csStringBase::Collapse" ref="6981c1a8e7c3fd32f7c2b07500a8cfb7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Collapse           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Trim leading and trailing whitespace, and collapse all internal whitespace to a single space. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>

</div>
</div><p>
<a class="anchor" name="a69d6ead2eaf3d8b16988c23120aefbc"></a><!-- doxytag: member="csStringBase::Compare" ref="a69d6ead2eaf3d8b16988c23120aefbc" args="(const char *iStr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::Compare           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>iStr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a null-terminated C- string is equal to this string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iStr</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if they are equal; false if not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The comparison is case-sensitive. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00625">625</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d844a70d5283ead4635aa9594351438a"></a><!-- doxytag: member="csStringBase::Compare" ref="d844a70d5283ead4635aa9594351438a" args="(const csStringBase &amp;iStr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::Compare           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iStr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if another string is equal to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iStr</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if they are equal; false if not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The comparison is case-sensitive. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00607">607</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="csstring_8h-source.html#l00371">GetDataSafe()</a>, and <a class="el" href="csstring_8h-source.html#l00379">Length()</a>.</p>

</div>
</div><p>
<a class="anchor" name="74683d3e4de5470f22694f7d364dbc3a"></a><!-- doxytag: member="csStringBase::CompareNoCase" ref="74683d3e4de5470f22694f7d364dbc3a" args="(const char *iStr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::CompareNoCase           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>iStr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a null-terminated C- string is equal to this string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iStr</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if they are equal; false if not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The comparison is case-insensitive. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00652">652</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="group__util.html#gd3b337b96b8bafe9b27b4cf683d85fdb">csStrCaseCmp()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e473ca165cac58d946fd84096d4ca4bf"></a><!-- doxytag: member="csStringBase::CompareNoCase" ref="e473ca165cac58d946fd84096d4ca4bf" args="(const csStringBase &amp;iStr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::CompareNoCase           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iStr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if another string is equal to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iStr</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if they are equal; false if not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The comparison is case-insensitive. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00634">634</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="group__util.html#g4661a6ce9f5b3c79f468611c69256a0b">csStrNCaseCmp()</a>, <a class="el" href="csstring_8h-source.html#l00371">GetDataSafe()</a>, and <a class="el" href="csstring_8h-source.html#l00379">Length()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5bda81678e09cfaf998f8f6881111758"></a><!-- doxytag: member="csStringBase::ComputeNewSize" ref="5bda81678e09cfaf998f8f6881111758" args="(size_t NewSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::ComputeNewSize           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>NewSize</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute a new buffer size. Takes GrowBy into consideration. 
<p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l00972">csStringFast&lt; LEN &gt;::SetCapacityInternal()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d114e2a6ec1c71b42ce96b098e89263a"></a><!-- doxytag: member="csStringBase::DeleteAt" ref="d114e2a6ec1c71b42ce96b098e89263a" args="(size_t Pos, size_t Count=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::DeleteAt           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Count</em> = <code>1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Delete a range of characters from the string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Pos</em>&nbsp;</td><td>Beginning of range to be deleted (zero-based). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Count</em>&nbsp;</td><td>Number of characters to delete. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3fb2adf9b28acc7d2a69956187147243"></a><!-- doxytag: member="csStringBase::Detach" ref="3fb2adf9b28acc7d2a69956187147243" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual char* csStringBase::Detach           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Detach the low-level null-terminated C-string buffer from the <a class="el" href="classcsString.html" title="Thin wrapper around csStringFast&lt;&gt; with its default buffer size.">csString</a> object. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The low-level null-terminated C-string buffer, or zero if this string represents a null-pointer. See the class description for a discussion about how and when the string will represent a null-pointer. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The caller of this function becomes the owner of the returned string buffer and is responsible for destroying it via `delete[]' when no longer needed. </dd></dl>

<p>Reimplemented in <a class="el" href="classcsStringFast.html#1f79797cac8cafd7a82467708cdf320b">csStringFast&lt; LEN &gt;</a>.</p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00931">931</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l01081">csStringFast&lt; LEN &gt;::Detach()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b3b4188c608747378836d28651fffcb4"></a><!-- doxytag: member="csStringBase::Downcase" ref="b3b4188c608747378836d28651fffcb4" args="(uint flags=csUcMapSimple)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Downcase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>flags</em> = <code>csUcMapSimple</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert this string to lower-case. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>Mapping options. Same as the <em>flags</em> parameter to <a class="el" href="classcsUnicodeTransform.html#68b49c8dbeb3970733ba455f33e6e61c" title="Map a code point to its lower case equivalent(s).">csUnicodeTransform::MapToLower()</a>. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This method makes the assumption that the string is UTF-8 encoded. If the string is in a different character set all non-ASCII characters will be mangled as they're replaced with <a class="el" href="group__util.html#gf3c9a65d5c394bfd305e620ef99351bb" title="Replacer char.">CS_UC_CHAR_REPLACER</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="26de49c84eb5f97149ce3c9e207b66b9"></a><!-- doxytag: member="csStringBase::Empty" ref="26de49c84eb5f97149ce3c9e207b66b9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Empty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clear the string (so that it contains only a null terminator). 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is rigidly equivalent to Truncate(0). </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00319">319</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csutil_2stringarray_8h-source.html#l00224">csStringArray::SplitString()</a>.</p>

</div>
</div><p>
<a class="anchor" name="abe72c5a5d01846e3b9460782dcf3aa0"></a><!-- doxytag: member="csStringBase::ExpandIfNeeded" ref="abe72c5a5d01846e3b9460782dcf3aa0" args="(size_t NewSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringBase::ExpandIfNeeded           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>NewSize</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If necessary, increase the buffer capacity enough to hold <code>NewSize</code> bytes. 
<p>
Buffer capacity is increased in GrowBy increments or exponentially depending upon configuration. 
</div>
</div><p>
<a class="anchor" name="1f34803960de1836d60727a6523fa0b8"></a><!-- doxytag: member="csStringBase::Find" ref="1f34803960de1836d60727a6523fa0b8" args="(const char *search, size_t pos=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::Find           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>search</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>pos</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the first occurrence of <code>search</code> in this string starting at <code>pos</code>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>search</em>&nbsp;</td><td>String to locate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Start position of search (default 0). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>First position of <code>search</code>, or (size_t)-1 if not found. </dd></dl>

</div>
</div><p>
<a class="anchor" name="e9002d30682db9edb5fa07c652e508d5"></a><!-- doxytag: member="csStringBase::FindFirst" ref="e9002d30682db9edb5fa07c652e508d5" args="(const char *c, size_t pos=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::FindFirst           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>pos</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the first occurrence of any of a set of characters in the string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>Characters to locate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Start position of search (default 0). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>First position of character, or (size_t)-1 if not found. </dd></dl>

</div>
</div><p>
<a class="anchor" name="31c7ec5957203005995aec57d81c5974"></a><!-- doxytag: member="csStringBase::FindFirst" ref="31c7ec5957203005995aec57d81c5974" args="(char c, size_t pos=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::FindFirst           </td>
          <td>(</td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>pos</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the first occurrence of a character in the string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>Character to locate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Start position of search (default 0). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>First position of character, or (size_t)-1 if not found. </dd></dl>

</div>
</div><p>
<a class="anchor" name="b21b96d56a30dd34465559955c1159cf"></a><!-- doxytag: member="csStringBase::FindLast" ref="b21b96d56a30dd34465559955c1159cf" args="(const char *c, size_t pos=(size_t)-1) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::FindLast           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>pos</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the last occurrence of any of a set of characters in the string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>Characters to locate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Start position of reverse search. Specify (size_t)-1 if you want the search to begin at the very end of string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Last position of character, or (size_t)-1 if not found. </dd></dl>

</div>
</div><p>
<a class="anchor" name="cf82c4069f169ea83d866c31ffcaae39"></a><!-- doxytag: member="csStringBase::FindLast" ref="cf82c4069f169ea83d866c31ffcaae39" args="(char c, size_t pos=(size_t)-1) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::FindLast           </td>
          <td>(</td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>pos</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the last occurrence of a character in the string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>Character to locate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Start position of reverse search. Specify (size_t)-1 if you want the search to begin at the very end of string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Last position of character, or (size_t)-1 if not found. </dd></dl>

</div>
</div><p>
<a class="anchor" name="342ca694ec2ac5c5e63893f7c67c6ef9"></a><!-- doxytag: member="csStringBase::FindReplace" ref="342ca694ec2ac5c5e63893f7c67c6ef9" args="(const char *search, const char *replacement)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringBase::FindReplace           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>search</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>replacement</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find all occurrences of <code>search</code> in this string and replace them with <code>replacement</code>. 
<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000030">Deprecated:</a></b></dt><dd>Use <a class="el" href="classcsStringBase.html#5fb9de53fd9334313112e57cc9158074" title="Find all occurrences of search in this string and replace them with replacement.">ReplaceAll()</a> instead. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00551">551</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="de4e92b57555b0ad88da71e639a65868"></a><!-- doxytag: member="csStringBase::FindStr" ref="de4e92b57555b0ad88da71e639a65868" args="(const char *search, size_t pos=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::FindStr           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>search</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>pos</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find the first occurrence of <code>search</code> in this string starting at <code>pos</code>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>search</em>&nbsp;</td><td>String to locate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>Start position of search (default 0). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>First position of <code>search</code>, or (size_t)-1 if not found. </dd></dl>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000029">Deprecated:</a></b></dt><dd>Use <a class="el" href="classcsStringBase.html#1f34803960de1836d60727a6523fa0b8" title="Find the first occurrence of search in this string starting at pos.">Find()</a> instead. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00536">536</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e4c08771f0061dadb125fb6873da2aa4"></a><!-- doxytag: member="csStringBase::Format" ref="e4c08771f0061dadb125fb6873da2aa4" args="(const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Format           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Format this string using <a class="el" href="group__util.html#gb1da56117bc82aa18efd07d4de43cb17" title="Portable implementation of snprintf().">cs_snprintf()</a>-style formatting directives. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Automatically allocates sufficient memory to hold result. Newly formatted string replaces previous string value. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__util.html">Notes about string formatting in Crystal Space</a> </dd></dl>

<p>Referenced by <a class="el" href="identstrings_8h-source.html#l00052">csIdentStrings::StringForIdent()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3cf8dbc33b6acaa9b7feef830d72f6e5"></a><!-- doxytag: member="csStringBase::FormatV" ref="3cf8dbc33b6acaa9b7feef830d72f6e5" args="(const char *format, va_list args)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::FormatV           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&nbsp;</td>
          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Format this string using <a class="el" href="group__util.html#gb1da56117bc82aa18efd07d4de43cb17" title="Portable implementation of snprintf().">cs_snprintf()</a> formatting directives in a va_list. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Automatically allocates sufficient memory to hold result. Newly formatted string replaces previous string value. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__util.html">Notes about string formatting in Crystal Space</a> </dd></dl>

<p>Referenced by <a class="el" href="debugimagewriter_8h-source.html#l00061">csDebugImageWriter::DebugImageWrite()</a>.</p>

</div>
</div><p>
<a class="anchor" name="fa5e7cc27c97e4c970c19f1172117f6a"></a><!-- doxytag: member="csStringBase::Free" ref="fa5e7cc27c97e4c970c19f1172117f6a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csStringBase::Free           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Free the memory allocated for the string. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Following a call to this method, invocations of <a class="el" href="classcsStringBase.html#ef60d7152db4203e977d7a315e877183" title="Get a pointer to the null-terminated character array.">GetData()</a> and 'operator char const*' will return a null pointer (until some new content is added to the string). </dd></dl>

<p>Reimplemented in <a class="el" href="classcsStringFast.html#49a4f3f62534048aa947da39a8fee1d8">csStringFast&lt; LEN &gt;</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l01079">csStringFast&lt; LEN &gt;::Free()</a>, and <a class="el" href="csstring_8h-source.html#l01055">csStringFast&lt; LEN &gt;::ShrinkBestFit()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4a6fd37c735ecd0664bd3dafcef6fa76"></a><!-- doxytag: member="csStringBase::GetAt" ref="4a6fd37c735ecd0664bd3dafcef6fa76" args="(size_t n) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char csStringBase::GetAt           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the n'th character. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00417">417</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>.</p>

</div>
</div><p>
<a class="anchor" name="468fdc4e909ff172cd0f8fd5fb2c5cbc"></a><!-- doxytag: member="csStringBase::GetCapacity" ref="468fdc4e909ff172cd0f8fd5fb2c5cbc" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t csStringBase::GetCapacity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the current capacity, not including the space for the implicit null terminator. 
<p>

<p>Reimplemented in <a class="el" href="classcsStringFast.html#9b5ce3297ba258454ad684e55e2dab85">csStringFast&lt; LEN &gt;</a>.</p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00117">117</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l01052">csStringFast&lt; LEN &gt;::GetCapacity()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ef60d7152db4203e977d7a315e877183"></a><!-- doxytag: member="csStringBase::GetData" ref="ef60d7152db4203e977d7a315e877183" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual CS_VISIBILITY_DEFAULT char const* csStringBase::GetData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a pointer to the null-terminated character array. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A C-string pointer to the null-terminated character array; or zero if the string represents a null-pointer. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>See the class description for a discussion about how and when the string will represent a null-pointer. </dd></dl>

<p>Reimplemented in <a class="el" href="classcsStringFast.html#ae377ba228b98ff910c5508f320c0d75">csStringFast&lt; LEN &gt;</a>.</p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00359">359</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e85c1436f9f3a1edab265cbe760a9602"></a><!-- doxytag: member="csStringBase::GetDataMutable" ref="e85c1436f9f3a1edab265cbe760a9602" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual char* csStringBase::GetDataMutable           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a pointer to the null-terminated character array. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A C-string pointer to the null-terminated character array; or zero if the string represents a null-pointer. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>See the class description for a discussion about how and when the string will represent a null-pointer. </dd></dl>
<dl class="warning" compact><dt><b>Warning:</b></dt><dd>This returns a non-const pointer, so use this function with care. Call this only when you need to modify the string content. External clients are never allowed to directly modify the internal string buffer, which is why this function is not public. </dd></dl>

<p>Reimplemented in <a class="el" href="classcsStringFast.html#9f09165e1d98b11ea26b755cf5037a8a">csStringFast&lt; LEN &gt;</a>.</p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00100">100</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="eb135ec8364e0f325d9b604d9e1076a3"></a><!-- doxytag: member="csStringBase::GetDataSafe" ref="eb135ec8364e0f325d9b604d9e1076a3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char const* csStringBase::GetDataSafe           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a pointer to the null-terminated character array. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A C-string pointer to the null-terminated character array. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Unlike <a class="el" href="classcsStringBase.html#ef60d7152db4203e977d7a315e877183" title="Get a pointer to the null-terminated character array.">GetData()</a>, this will always return a valid, non-null C-string, even if the underlying representation is that of a null-pointer (in which case, it will return a zero-length C-string. This is a handy convenience which makes it possible to use the result directly without having to perform a null check first. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00371">371</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l00607">Compare()</a>, <a class="el" href="csstring_8h-source.html#l00634">CompareNoCase()</a>, <a class="el" href="csstring_8h-source.html#l00831">operator&lt;()</a>, <a class="el" href="csstring_8h-source.html#l00851">operator&gt;()</a>, and <a class="el" href="csstring_8h-source.html#l00661">StartsWith()</a>.</p>

</div>
</div><p>
<a class="anchor" name="42d6b4801863632c133e11055d142ae0"></a><!-- doxytag: member="csStringBase::GetGrowsBy" ref="42d6b4801863632c133e11055d142ae0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::GetGrowsBy           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the number of bytes by which the string grows. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If the return value is zero, then the internal buffer grows exponentially by doubling its size, rather than by fixed increments. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00285">285</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c4906246461d51c58deea989d9844b54"></a><!-- doxytag: member="csStringBase::GetHash" ref="c4906246461d51c58deea989d9844b54" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> csStringBase::GetHash           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classcsStringBase.html#c4906246461d51c58deea989d9844b54" title="GetHash() as expected by the default csHashComputer&lt;&gt; implementation to allow...">GetHash()</a> as expected by the default csHashComputer&lt;&gt; implementation to allow use of csStrings as hash keys. 
<p>

</div>
</div><p>
<a class="anchor" name="41b4a63a4375d6b65a7437927812c13c"></a><!-- doxytag: member="csStringBase::Insert" ref="41b4a63a4375d6b65a7437927812c13c" args="(size_t Pos, char C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Insert           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert another string into this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Pos</em>&nbsp;</td><td>Position at which to insert the other string (zero-based). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>Character to insert. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>

</div>
</div><p>
<a class="anchor" name="0c7d707c72e7a88802f7b3d695c1fe42"></a><!-- doxytag: member="csStringBase::Insert" ref="0c7d707c72e7a88802f7b3d695c1fe42" args="(size_t Pos, const char *Str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Insert           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Str</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert another string into this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Pos</em>&nbsp;</td><td>Position at which to insert the other string (zero-based). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>String to insert. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>

</div>
</div><p>
<a class="anchor" name="f8f595753eba76e5de0ce3cd585eb023"></a><!-- doxytag: member="csStringBase::Insert" ref="f8f595753eba76e5de0ce3cd585eb023" args="(size_t Pos, const csStringBase &amp;Str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Insert           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>Str</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Insert another string into this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Pos</em>&nbsp;</td><td>Position at which to insert the other string (zero-based). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>String to insert. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>

</div>
</div><p>
<a class="anchor" name="472c632aae458f90eb744cd50797c881"></a><!-- doxytag: member="csStringBase::IsEmpty" ref="472c632aae458f90eb744cd50797c881" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::IsEmpty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if string is empty. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the string is empty; false if it is not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is rigidly equivalent to the expression 'Length() == 0'. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00387">387</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4d4820df67848ac1040af1896c2dd280"></a><!-- doxytag: member="csStringBase::Length" ref="4d4820df67848ac1040af1896c2dd280" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringBase::Length           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query string length. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The string length. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The returned length does not count the implicit null terminator. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00379">379</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l00607">Compare()</a>, <a class="el" href="csstring_8h-source.html#l00634">CompareNoCase()</a>, and <a class="el" href="csstring_8h-source.html#l00661">StartsWith()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d0143b44cc09c864c1c887a9b64c6a6d"></a><!-- doxytag: member="csStringBase::LTrim" ref="d0143b44cc09c864c1c887a9b64c6a6d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::LTrim           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Trim leading whitespace. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is equivalent to Truncate(n) where 'n' is the last non-whitespace character, or zero if the string is composed entirely of whitespace. </dd></dl>

</div>
</div><p>
<a class="anchor" name="c6c45d10062bb08b028d7dd6e1998989"></a><!-- doxytag: member="csStringBase::operator const char *" ref="c6c45d10062bb08b028d7dd6e1998989" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringBase::operator const char *           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a pointer to the null-terminated character array. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A C-string pointer to the null-terminated character array; or zero if the string represents a null-pointer. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>See the class description for a discussion about how and when the string will represent a null-pointer. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00806">806</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="562de37ae976199b6d7598f6d0ac8ac1"></a><!-- doxytag: member="csStringBase::operator!=" ref="562de37ae976199b6d7598f6d0ac8ac1" args="(const char *Str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::operator!=           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if another string is not equal to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>False if they are equal; true if not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The comparison is case-sensitive. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00879">879</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="31839f8dfd4436add855c8bae4e77256"></a><!-- doxytag: member="csStringBase::operator!=" ref="31839f8dfd4436add855c8bae4e77256" args="(const csStringBase &amp;Str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>Str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if another string is not equal to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>False if they are equal; true if not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The comparison is case-sensitive. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00871">871</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="235175b40d6dea6ed6d8b13e655ba8a0"></a><!-- doxytag: member="csStringBase::operator+" ref="235175b40d6dea6ed6d8b13e655ba8a0" args="(const csStringBase &amp;iStr) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a> csStringBase::operator+           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iStr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add another string to this one and return the result as a new string. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00796">796</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5922aa080bb46df04c9fc209b9be943d"></a><!-- doxytag: member="csStringBase::operator+=" ref="5922aa080bb46df04c9fc209b9be943d" args="(T const &amp;s)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::operator+=           </td>
          <td>(</td>
          <td class="paramtype">T const &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Append a formatted value to this string. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00788">788</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7d1c7d6e4ce243dc5503a7f1cd3e6504"></a><!-- doxytag: member="csStringBase::operator&lt;" ref="7d1c7d6e4ce243dc5503a7f1cd3e6504" args="(const char *Str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::operator&lt;           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if another string is less than this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the string is 'lesser' than <em>Str</em>, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00841">841</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8651a948b393e8ec3f5e7fd22e470f1f"></a><!-- doxytag: member="csStringBase::operator&lt;" ref="8651a948b393e8ec3f5e7fd22e470f1f" args="(const csStringBase &amp;Str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::operator&lt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>Str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if another string is less than this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the string is 'lesser' than <em>Str</em>, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00831">831</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="csstring_8h-source.html#l00371">GetDataSafe()</a>.</p>

</div>
</div><p>
<a class="anchor" name="357eb045f9b5daf073eb4d58568f371b"></a><!-- doxytag: member="csStringBase::operator&lt;&lt;" ref="357eb045f9b5daf073eb4d58568f371b" args="(T const &amp;v)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::operator&lt;&lt;           </td>
          <td>(</td>
          <td class="paramtype">T const &amp;&nbsp;</td>
          <td class="paramname"> <em>v</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Shift operator. 
<p>
For example: <div class="fragment"><pre class="fragment"> s &lt;&lt; <span class="stringliteral">"Hi "</span> &lt;&lt; name &lt;&lt; <span class="stringliteral">", see "</span> &lt;&lt; foo;
</pre></div> 
<p>Definition at line <a class="el" href="csstring_8h-source.html#l00890">890</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bc902c60277c3939005049886f739478"></a><!-- doxytag: member="csStringBase::operator=" ref="bc902c60277c3939005049886f739478" args="(const csStringBase &amp;copy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>copy</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign another string to this one. 
<p>

<p>Reimplemented in <a class="el" href="classcsStringFast.html#7fd076b23661571a4fbccb29cb61dde3">csStringFast&lt; LEN &gt;</a>, <a class="el" href="classcsStringFast_3_010_01_4.html#952c3bab703da5e44606a0af19e0f65a">csStringFast&lt; 0 &gt;</a>, and <a class="el" href="classcsString.html#a39053d32060564e963c094c9daa2f05">csString</a>.</p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00781">781</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="58d4dacb4750781420975958f7148f69"></a><!-- doxytag: member="csStringBase::operator=" ref="58d4dacb4750781420975958f7148f69" args="(T const &amp;s)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::operator=           </td>
          <td>(</td>
          <td class="paramtype">T const &amp;&nbsp;</td>
          <td class="paramname"> <em>s</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assign a formatted value to this string. 
<p>

<p>Reimplemented in <a class="el" href="classcsStringFast.html#afa91b8e35516324c49ff2f748bd26ec">csStringFast&lt; LEN &gt;</a>.</p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00778">778</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="963ebe97762c4b5234acc294a9c4a00c"></a><!-- doxytag: member="csStringBase::operator==" ref="963ebe97762c4b5234acc294a9c4a00c" args="(const char *Str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::operator==           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if another string is equal to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if they are equal; false if not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The comparison is case-sensitive. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00823">823</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="81cfd1bd211c0cabe2b63b89d0932120"></a><!-- doxytag: member="csStringBase::operator==" ref="81cfd1bd211c0cabe2b63b89d0932120" args="(const csStringBase &amp;Str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>Str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if another string is equal to this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if they are equal; false if not. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The comparison is case-sensitive. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00815">815</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3072ec3ccc52295f077665c8d7731153"></a><!-- doxytag: member="csStringBase::operator&gt;" ref="3072ec3ccc52295f077665c8d7731153" args="(const char *Str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::operator&gt;           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check to see if a string is greater than this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the string is 'greater' than <em>Str</em>, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00861">861</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="71ca68b148f24848fa09c44b21178ef6"></a><!-- doxytag: member="csStringBase::operator&gt;" ref="71ca68b148f24848fa09c44b21178ef6" args="(const csStringBase &amp;Str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::operator&gt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>Str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check to see if a string is greater than this one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>Other string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the string is 'greater' than <em>Str</em>, false otherwise. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00851">851</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="csstring_8h-source.html#l00371">GetDataSafe()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7ea88cc8f0004dfb8fc0e1bb3b411a2b"></a><!-- doxytag: member="csStringBase::operator[]" ref="7ea88cc8f0004dfb8fc0e1bb3b411a2b" args="(size_t n) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char csStringBase::operator[]           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get n'th character. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00398">398</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>.</p>

</div>
</div><p>
<a class="anchor" name="219826acca9eb4d22e993d0069a49ab0"></a><!-- doxytag: member="csStringBase::operator[]" ref="219826acca9eb4d22e993d0069a49ab0" args="(size_t n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char&amp; csStringBase::operator[]           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a modifiable reference to n'th character. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00391">391</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>.</p>

</div>
</div><p>
<a class="anchor" name="dc5466ebd6492c20f5fb9a63c36e3677"></a><!-- doxytag: member="csStringBase::Overwrite" ref="dc5466ebd6492c20f5fb9a63c36e3677" args="(size_t Pos, const csStringBase &amp;Str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Overwrite           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>Str</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Overlay another string onto a part of this string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Pos</em>&nbsp;</td><td>Position at which to insert the other string (zero-based). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>String which will be overlayed atop this string. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The target string will grow as necessary to accept the new string. </dd></dl>

</div>
</div><p>
<a class="anchor" name="968e0f8e88d6ec95113c5443806d624d"></a><!-- doxytag: member="csStringBase::PadCenter" ref="968e0f8e88d6ec95113c5443806d624d" args="(size_t NewSize, char PadChar= ' ')" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::PadCenter           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>NewSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>PadChar</em> = <code>'&nbsp;'</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pad to a specified size with leading and trailing characters so as to center the string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>NewSize</em>&nbsp;</td><td>Size to which the string should grow. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>PadChar</em>&nbsp;</td><td>Character with which to pad the string (default is space). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Never shortens the string. If NewSize is less than or equal to <a class="el" href="classcsStringBase.html#4d4820df67848ac1040af1896c2dd280" title="Query string length.">Length()</a>, nothing happens. If the left and right sides can not be padded equally, then the right side will gain the extra one-character padding. </dd></dl>

</div>
</div><p>
<a class="anchor" name="2c25981e3a31cdbe8c167f65a9045e5f"></a><!-- doxytag: member="csStringBase::PadLeft" ref="2c25981e3a31cdbe8c167f65a9045e5f" args="(size_t NewSize, char PadChar= ' ')" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::PadLeft           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>NewSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>PadChar</em> = <code>'&nbsp;'</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pad to a specified size with leading characters. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>NewSize</em>&nbsp;</td><td>Size to which the string should grow. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>PadChar</em>&nbsp;</td><td>Character with which to pad the string (default is space). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Never shortens the string. If NewSize is less than or equal to <a class="el" href="classcsStringBase.html#4d4820df67848ac1040af1896c2dd280" title="Query string length.">Length()</a>, nothing happens. </dd></dl>

</div>
</div><p>
<a class="anchor" name="3ce51257b32481204fb5c0f9f5327285"></a><!-- doxytag: member="csStringBase::PadRight" ref="3ce51257b32481204fb5c0f9f5327285" args="(size_t NewSize, char PadChar= ' ')" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::PadRight           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>NewSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>PadChar</em> = <code>'&nbsp;'</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pad to a specified size with trailing characters. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>NewSize</em>&nbsp;</td><td>Size to which the string should grow. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>PadChar</em>&nbsp;</td><td>Character with which to pad the string (default is space). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Never shortens the string. If NewSize is less than or equal to <a class="el" href="classcsStringBase.html#4d4820df67848ac1040af1896c2dd280" title="Query string length.">Length()</a>, nothing happens. </dd></dl>

</div>
</div><p>
<a class="anchor" name="0a946146644b53c4a2c74bf134211edb"></a><!-- doxytag: member="csStringBase::Reclaim" ref="0a946146644b53c4a2c74bf134211edb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Reclaim           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set string buffer capacity to hold exactly the current content. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If the string length is greater than zero, then the buffer's capacity will be adjusted to exactly that size. If the string length is zero, then this is equivalent to an invocation of <a class="el" href="classcsStringBase.html#fa5e7cc27c97e4c970c19f1172117f6a" title="Free the memory allocated for the string.">Free()</a>, which means that <a class="el" href="classcsStringBase.html#ef60d7152db4203e977d7a315e877183" title="Get a pointer to the null-terminated character array.">GetData()</a> and 'operator char const*' will return a null pointer after reclamation. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00341">341</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b958068f04f4b40493de423aac9e68d7"></a><!-- doxytag: member="csStringBase::Replace" ref="b958068f04f4b40493de423aac9e68d7" args="(T const &amp;val)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Replace           </td>
          <td>(</td>
          <td class="paramtype">T const &amp;&nbsp;</td>
          <td class="paramname"> <em>val</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Replace contents of this string with the value in formatted form. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Internally uses the various flavours of <a class="el" href="classcsStringBase.html#9b78c60659ea1e5bea610d4d2eb29016" title="Append a null-terminated C-string to this one.">Append()</a>. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00599">599</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="581a6271fb97c03c1ff4492c75d09aa6"></a><!-- doxytag: member="csStringBase::Replace" ref="581a6271fb97c03c1ff4492c75d09aa6" args="(const char *Str, size_t Count=(size_t)-1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Replace           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>Str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Count</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Replace contents of this string with the contents of another. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>String from which new content of this string will be copied. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Count</em>&nbsp;</td><td>Number of characters to copy. If (size_t)-1 is specified, then all characters will be copied. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This string will represent a null-pointer after replacement if and only if Str is a null pointer. </dd></dl>

</div>
</div><p>
<a class="anchor" name="6bb4fbecd065935ea4c6e0d9420a4b3f"></a><!-- doxytag: member="csStringBase::Replace" ref="6bb4fbecd065935ea4c6e0d9420a4b3f" args="(const csStringBase &amp;Str, size_t Count=(size_t)-1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Replace           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>Str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Count</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Replace contents of this string with the contents of another. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Str</em>&nbsp;</td><td>String from which new content of this string will be copied. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>Count</em>&nbsp;</td><td>Number of characters to copy. If (size_t)-1 is specified, then all characters will be copied. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This string will represent a null-pointer after replacement if and only if Str represents a null-pointer. </dd></dl>

<p>Referenced by <a class="el" href="vfsdirchange_8h-source.html#l00053">csVfsDirectoryChanger::ChangeTo()</a>, <a class="el" href="csstring_8h-source.html#l01109">csStringFast&lt; 0 &gt;::operator=()</a>, and <a class="el" href="csstring_8h-source.html#l01042">csStringFast&lt; LEN &gt;::operator=()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5fb9de53fd9334313112e57cc9158074"></a><!-- doxytag: member="csStringBase::ReplaceAll" ref="5fb9de53fd9334313112e57cc9158074" args="(const char *search, const char *replacement)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringBase::ReplaceAll           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>search</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>replacement</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Find all occurrences of <code>search</code> in this string and replace them with <code>replacement</code>. 
<p>

</div>
</div><p>
<a class="anchor" name="2a666b42b26271cf7c3f1835077f2702"></a><!-- doxytag: member="csStringBase::RTrim" ref="2a666b42b26271cf7c3f1835077f2702" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::RTrim           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Trim trailing whitespace. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is equivalent to DeleteAt(0,n) where 'n' is the first non-whitespace character, or Lenght() if the string is composed entirely of whitespace. </dd></dl>

</div>
</div><p>
<a class="anchor" name="692506eeaa23d3724b20e64cb7e3d33a"></a><!-- doxytag: member="csStringBase::SetAt" ref="692506eeaa23d3724b20e64cb7e3d33a" args="(size_t n, const char c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringBase::SetAt           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char&nbsp;</td>
          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the n'th character. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The n'th character position must be a valid position in the string. You can not expand the string by setting a character beyond the end of string. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00410">410</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>.</p>

</div>
</div><p>
<a class="anchor" name="c30b6e2a574b5b2ada978221fd61f619"></a><!-- doxytag: member="csStringBase::SetCapacity" ref="c30b6e2a574b5b2ada978221fd61f619" args="(size_t NewSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringBase::SetCapacity           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>NewSize</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Ask the string to allocate enough space to hold <code>NewSize</code> characters. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>After calling this method, the string's internal capacity will be at least <code>NewSize</code> + 1 (one for the implicit null terminator). Never shrinks capacity. If you need to actually reclaim memory, then use <a class="el" href="classcsStringBase.html#fa5e7cc27c97e4c970c19f1172117f6a" title="Free the memory allocated for the string.">Free()</a> or <a class="el" href="classcsStringBase.html#516a2096e7ebf2a5c4d9b8a35bda2527" title="Set string buffer capacity to hold exactly the current content.">ShrinkBestFit()</a>. </dd></dl>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l01008">csStringFast&lt; LEN &gt;::csStringFast()</a>.</p>

</div>
</div><p>
<a class="anchor" name="62840bf377294ec1d889857dadea6bf4"></a><!-- doxytag: member="csStringBase::SetCapacityInternal" ref="62840bf377294ec1d889857dadea6bf4" args="(size_t NewSize, bool soft)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csStringBase::SetCapacityInternal           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>NewSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>soft</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the buffer to hold NewSize bytes. 
<p>
If <em>soft</em> is true it means the buffer can be rounded up to reduce the number of allocations needed. 
<p>Reimplemented in <a class="el" href="classcsStringFast.html#74c9c4fc52344b763af729fa9529d17e">csStringFast&lt; LEN &gt;</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l00972">csStringFast&lt; LEN &gt;::SetCapacityInternal()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5422a52dcbd57d1c065dbd2d5da822a0"></a><!-- doxytag: member="csStringBase::SetGrowsBy" ref="5422a52dcbd57d1c065dbd2d5da822a0" args="(size_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringBase::SetGrowsBy           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Advise the string that it should grow its allocated buffer by approximately this many bytes when more space is required. 
<p>
This is an optimization to avoid excessive memory reallocation and heap management, which can be quite slow. <dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This value is only a suggestion. The actual value by which it grows may be rounded up or down to an implementation-dependent allocation multiple. <p>
If the value is zero, then the internal buffer grows exponentially by doubling its size, rather than by fixed increments. </dd></dl>

</div>
</div><p>
<a class="anchor" name="516a2096e7ebf2a5c4d9b8a35bda2527"></a><!-- doxytag: member="csStringBase::ShrinkBestFit" ref="516a2096e7ebf2a5c4d9b8a35bda2527" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csStringBase::ShrinkBestFit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set string buffer capacity to hold exactly the current content. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>If the string length is greater than zero, then the buffer's capacity will be adjusted to exactly that size. If the string length is zero, then this is equivalent to an invocation of <a class="el" href="classcsStringBase.html#fa5e7cc27c97e4c970c19f1172117f6a" title="Free the memory allocated for the string.">Free()</a>, which means that <a class="el" href="classcsStringBase.html#ef60d7152db4203e977d7a315e877183" title="Get a pointer to the null-terminated character array.">GetData()</a> and 'operator char const*' will return a null pointer after reclamation. </dd></dl>

<p>Reimplemented in <a class="el" href="classcsStringFast.html#ec6b8c96e0f739e6ce084669850ba71e">csStringFast&lt; LEN &gt;</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l01055">csStringFast&lt; LEN &gt;::ShrinkBestFit()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b676e04050d9cd65456042db4ab902f8"></a><!-- doxytag: member="csStringBase::Slice" ref="b676e04050d9cd65456042db4ab902f8" args="(size_t start, size_t len=(size_t)-1) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a> csStringBase::Slice           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy and return a portion of this string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>Start position of slice (zero-based). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Number of characters in slice. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The indicated string slice. </dd></dl>

</div>
</div><p>
<a class="anchor" name="5b84f79df29cd13aacd871db355e6e38"></a><!-- doxytag: member="csStringBase::StartsWith" ref="5b84f79df29cd13aacd871db355e6e38" args="(const char *iStr, bool ignore_case=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::StartsWith           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>iStr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>ignore_case</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this string starts with a null-terminated C- string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iStr</em>&nbsp;</td><td>Other string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ignore_case</em>&nbsp;</td><td>Causes the comparison to be case insensitive if true. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if they are equal up to the length of iStr; false if not. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00684">684</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>, and <a class="el" href="group__util.html#g4661a6ce9f5b3c79f468611c69256a0b">csStrNCaseCmp()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3e181663db4925ce06a4cb3330896543"></a><!-- doxytag: member="csStringBase::StartsWith" ref="3e181663db4925ce06a4cb3330896543" args="(const csStringBase &amp;iStr, bool ignore_case=false) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csStringBase::StartsWith           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>iStr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>ignore_case</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this string starts with another one. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>iStr</em>&nbsp;</td><td>Other string. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ignore_case</em>&nbsp;</td><td>Causes the comparison to be case insensitive if true. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if they are equal up to the length of iStr; false if not. </dd></dl>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00661">661</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>, <a class="el" href="group__util.html#g4661a6ce9f5b3c79f468611c69256a0b">csStrNCaseCmp()</a>, <a class="el" href="csstring_8h-source.html#l00371">GetDataSafe()</a>, and <a class="el" href="csstring_8h-source.html#l00379">Length()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b57f2869959666fd08005e2b5f31512f"></a><!-- doxytag: member="csStringBase::SubString" ref="b57f2869959666fd08005e2b5f31512f" args="(csStringBase &amp;sub, size_t start, size_t len=(size_t)-1) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringBase::SubString           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsStringBase.html">csStringBase</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>sub</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em> = <code>(size_t)-1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy a portion of this string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sub</em>&nbsp;</td><td>String which will receive the indicated substring copy. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>start</em>&nbsp;</td><td>Start position of slice (zero-based). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Number of characters in slice. </td></tr>
  </table>
</dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Use this method instead of <a class="el" href="classcsStringBase.html#b676e04050d9cd65456042db4ab902f8" title="Copy and return a portion of this string.">Slice()</a> for cases where you expect to extract many substrings in a tight loop, and want to avoid the overhead of allocation of a new string object for each operation. Simply re-use 'sub' for each operation. </dd></dl>

</div>
</div><p>
<a class="anchor" name="0639cc5243627e537b9673b936a3cd34"></a><!-- doxytag: member="csStringBase::Trim" ref="0639cc5243627e537b9673b936a3cd34" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Trim           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Trim leading and trailing whitespace. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This is equivalent to <a class="el" href="classcsStringBase.html#d0143b44cc09c864c1c887a9b64c6a6d" title="Trim leading whitespace.">LTrim()</a> followed by <a class="el" href="classcsStringBase.html#2a666b42b26271cf7c3f1835077f2702" title="Trim trailing whitespace.">RTrim()</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="5d068615a96f7ddb6674d7ce3e9fb90c"></a><!-- doxytag: member="csStringBase::Truncate" ref="5d068615a96f7ddb6674d7ce3e9fb90c" args="(size_t Len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Truncate           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>Len</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Truncate the string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>Len</em>&nbsp;</td><td>The number of characters to which the string should be truncated (possibly 0). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Will only make a string shorter; will never extend it. This method does not reclaim memory; it merely shortens the string, which means that Truncate(0) is a handy method of clearing the string, without the overhead of slow heap management. This may be important if you want to re-use the same string many times over. If you need to reclaim memory after truncating the string, then invoke <a class="el" href="classcsStringBase.html#516a2096e7ebf2a5c4d9b8a35bda2527" title="Set string buffer capacity to hold exactly the current content.">ShrinkBestFit()</a>. <a class="el" href="classcsStringBase.html#ef60d7152db4203e977d7a315e877183" title="Get a pointer to the null-terminated character array.">GetData()</a> and 'operator char const*' will return a non-null zero-length string if you truncate the string to 0 characters, unless the string had already represented a null-pointer, in which case it will continue to represent a null-pointer after truncation. </dd></dl>

</div>
</div><p>
<a class="anchor" name="cffe4420e2f57c8cfa5e139856e8eb96"></a><!-- doxytag: member="csStringBase::Upcase" ref="cffe4420e2f57c8cfa5e139856e8eb96" args="(uint flags=csUcMapSimple)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsStringBase.html">csStringBase</a>&amp; csStringBase::Upcase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>flags</em> = <code>csUcMapSimple</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert this string to upper-case. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>Mapping options. Same as the <em>flags</em> parameter to <a class="el" href="classcsUnicodeTransform.html#807ddce5c1282d7fe147496848332117" title="Map a code point to its upper case equivalent(s).">csUnicodeTransform::MapToUpper()</a>. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Reference to itself. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>This method makes the assumption that the string is UTF-8 encoded. If the string is in a different character set all non-ASCII characters will be mangled as they're replaced with <a class="el" href="group__util.html#gf3c9a65d5c394bfd305e620ef99351bb" title="Replacer char.">CS_UC_CHAR_REPLACER</a>. </dd></dl>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="398de8de57fe8e648bb7207d00c31de3"></a><!-- doxytag: member="csStringBase::Data" ref="398de8de57fe8e648bb7207d00c31de3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="classcsStringBase.html#398de8de57fe8e648bb7207d00c31de3">csStringBase::Data</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
String buffer. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00062">62</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l01081">csStringFast&lt; LEN &gt;::Detach()</a>, <a class="el" href="csstring_8h-source.html#l01052">csStringFast&lt; LEN &gt;::GetCapacity()</a>, <a class="el" href="csstring_8h-source.html#l01049">csStringFast&lt; LEN &gt;::GetData()</a>, <a class="el" href="csstring_8h-source.html#l00996">csStringFast&lt; LEN &gt;::GetDataMutable()</a>, <a class="el" href="csstring_8h-source.html#l00972">csStringFast&lt; LEN &gt;::SetCapacityInternal()</a>, and <a class="el" href="csstring_8h-source.html#l01055">csStringFast&lt; LEN &gt;::ShrinkBestFit()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f1d107f0797c57fc3e8f76bb7dce7696"></a><!-- doxytag: member="csStringBase::GrowBy" ref="f1d107f0797c57fc3e8f76bb7dce7696" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classcsStringBase.html#f1d107f0797c57fc3e8f76bb7dce7696">csStringBase::GrowBy</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Size in bytes by which allocated buffer is increased when needed. 
<p>
If this value is zero, then growth occurs exponentially by doubling the size. 
<p>Definition at line <a class="el" href="csstring_8h-source.html#l00071">71</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="eb2631c85b01181bf069998cc5d8e62e"></a><!-- doxytag: member="csStringBase::MaxSize" ref="eb2631c85b01181bf069998cc5d8e62e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classcsStringBase.html#eb2631c85b01181bf069998cc5d8e62e">csStringBase::MaxSize</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Size in bytes of allocated string buffer. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00066">66</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l01081">csStringFast&lt; LEN &gt;::Detach()</a>, and <a class="el" href="csstring_8h-source.html#l00972">csStringFast&lt; LEN &gt;::SetCapacityInternal()</a>.</p>

</div>
</div><p>
<a class="anchor" name="56a011d57a287c82fc0e6dc0843ecc8a"></a><!-- doxytag: member="csStringBase::Size" ref="56a011d57a287c82fc0e6dc0843ecc8a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="classcsStringBase.html#56a011d57a287c82fc0e6dc0843ecc8a">csStringBase::Size</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Length of string; not including null terminator. 
<p>

<p>Definition at line <a class="el" href="csstring_8h-source.html#l00064">64</a> of file <a class="el" href="csstring_8h-source.html">csstring.h</a>.</p>

<p>Referenced by <a class="el" href="csstring_8h-source.html#l01081">csStringFast&lt; LEN &gt;::Detach()</a>, <a class="el" href="csstring_8h-source.html#l00972">csStringFast&lt; LEN &gt;::SetCapacityInternal()</a>, and <a class="el" href="csstring_8h-source.html#l01055">csStringFast&lt; LEN &gt;::ShrinkBestFit()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csutil/<a class="el" href="csstring_8h-source.html">csstring.h</a></ul>
<hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>