Sophie

Sophie

distrib > Mandriva > 2011.0 > x86_64 > by-pkgid > e4e5aca55b6d7244e6bae95bf4fde3ca > files > 277

lib64edelib-devel-2.0-1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>edelib: String Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">edelib
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceedelib.html">edelib</a>      </li>
      <li class="navelem"><a class="el" href="classedelib_1_1String.html">String</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#related">Related Functions</a>  </div>
  <div class="headertitle">
<div class="title">String Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="edelib::String" -->
<p>A (relatively simple) string implementation.  
 <a href="classedelib_1_1String.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="String_8h_source.html">edelib/String.h</a>&gt;</code></p>

<p><a href="classedelib_1_1String-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a8db865e64c3c3f65ec6a0b6fd8c09a94">String</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#af85366dc541925a5ffcad4821d766e5d">String</a> (const char *str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a326f0bd688ed2b378c3672cc93688e2e">String</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a998ab66c7adb23a76179eec57d05de9d">~String</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a25722c0e2d7eba74ffb149d72cf16fbe">assign</a> (const char *str, size_type len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a869e7161e078852fb013690ab716237a">assign</a> (const char *str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#af4d59c7b4d81bc479884ba4de9cfbd29">assign</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a2fb39c065c27318758df2167ce5458e3">append</a> (const char *str, size_type len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a313da97786f3dcdf897ce5287a63b327">append</a> (const char *str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a1bf2cadf22d578f17c061fce2ca0183b">append</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#ac9c5e2199b54fb5ba6f3935fd48d5b32">append</a> (size_type num, const char &amp;ch)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#aa5a46e0d75fdd9f8d966196289f4b219">reserve</a> (size_type len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a96694be414566ea2329dd789bd6d8335">swap</a> (<a class="el" href="classedelib_1_1String.html">String</a> &amp;from)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#aef921468bc1580e5b31c0880b1d40f92">substr</a> (size_type index, size_type num=<a class="el" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">npos</a>) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a300f82e5a93fcc34456bc6d282b4bcbb">find</a> (const char *str, size_type offset) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a6e604adc7d75bc512c8e4361d13c9d04">find</a> (char ch, size_type offset) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#aedec3d68e72479cac7eaae5469bfb1e1">find</a> (const char *str) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#ae683fe63c33c388e9ba1c6392dd477eb">clear</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a0aff7311d684a0e0ef33125616a73385">printf</a> (const char *fmt,...)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a4049cdc5231e598bd70fadff6e497cdf">trim_left</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a7d68677686a5d3690fb70486522eb2ed">trim_right</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#ab45dbcc2a569d9716ef321e05ea9ac3a">trim</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">c_str</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a3f3f956aa78f472c5e5e7275fd9f854d">c_str</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a4f8299f2a033f040c0c0d92a6406280f">data</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#af82978762f57d4553b0f2c1331c60e65">length</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#abc55c7fcfa90f443ce012873292b629d">capacity</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a8f26081fc8698ecb3276704a7fa715f1">empty</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a6d59fceed09d9496ce765d520dd875d8">replace</a> (char c1, char c2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a114930f20d1b6d987150583f2586c9e8">operator[]</a> (size_type index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a3b9cdf50a48f31d546cc38a5122c2778">operator[]</a> (size_type index) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a3e626a1045ee2f91b14775af5c1df38b">operator=</a> (const char *str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#aa7694556e438408131523c949aeecdd0">operator=</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#aab96e27bce71536905a3a04deba20dda">operator+=</a> (const char *str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a8c09167d2a0ffed51ebea0865b3e16e9">operator+=</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#ad29ee991baa69b30d96566edf5e79510">operator+=</a> (const char &amp;ch)</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">npos</a></td></tr>
<tr><td colspan="2"><h2><a name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#aa32f7361ca2291f8996eec46dd3baaed">operator+</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;s1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;s2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a5cec349438a2989e4dd87b91c230fe91">operator+</a> (const char *s1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;s2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classedelib_1_1String.html">String</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a8312b703b4c3e068ff2680e4005b3cc4">operator+</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;s1, const char *s2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#ae618933f8842a34d047c78073c1cab9c">operator==</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const char *str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#aaae40a07b88bda9062df26fd704ecdb1">operator!=</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const char *str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a0a3c146012dca15a6418b2f72b0fa10d">operator&gt;</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const char *str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#adff8a1f5b9e5cc659ce6cd8d69315006">operator&gt;=</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const char *str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a08fdb033e5ff95662f21080a17de0627">operator&lt;</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const char *str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a3a0e4fba99de3e05c122cf4784e9d148">operator&lt;=</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const char *str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a23a1b9964ed28c2f2c8b3639d3d6088d">operator==</a> (const char *str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#ac03279cd67abeedf49244349b2e3c0a9">operator!=</a> (const char *str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a448bc57375a295ddb96e3f3977a0dd93">operator&gt;</a> (const char *str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#af0ed03b1642cd5930360e24493dcc838">operator&gt;=</a> (const char *str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#aef4fd9d44dab1db62b6646649dbed506">operator&lt;</a> (const char *str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a1300c87dea4bf67741e6367d104c24dd">operator&lt;=</a> (const char *str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a203b726b83a9360edabdcfaea9a3d4df">operator==</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a45f0de58ed8add2403865e25a4c6cfc3">operator!=</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a26a9f8908b6aeaac52ef3252d49bb458">operator&gt;</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a9fb11cd6aa3d2ea8cf9c8eb7e2a0daf8">operator&gt;=</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a56ebd4ab2f0e85ddf5f8128df54d79b3">operator&lt;</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classedelib_1_1String.html#a660c8d06d2fd38bed5e56cd2ac5af203">operator&lt;=</a> (const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str1, const <a class="el" href="classedelib_1_1String.html">String</a> &amp;str2)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A (relatively simple) string implementation. </p>
<p>This implementation tries to be compatible with std::string implementation, althought it does not implement all gory details from std::string. There are few reasons why this class exists:</p>
<ul>
<li>complilation time; things with this class compile 3x faster than with std::string</li>
<li>extending; std::string is pain in the ass to extend, and providing possible copy of std::string implementation would require to provide a bunch of additional code</li>
</ul>
<p>This class does not provide find_xxx(), insert() and erase methods and iterators.</p>
<p>Some methods, like <em><a class="el" href="classedelib_1_1String.html#a0aff7311d684a0e0ef33125616a73385">printf()</a></em> does not exist in std::string. Also, the behaviour of <em><a class="el" href="classedelib_1_1String.html#abc55c7fcfa90f443ce012873292b629d">capacity()</a></em> differs from std::string like: </p>
<div class="fragment"><pre class="fragment">   <a class="code" href="classedelib_1_1String.html#a8db865e64c3c3f65ec6a0b6fd8c09a94">String</a> s = <span class="stringliteral">&quot;foo&quot;</span>;
   std::string s1 = <span class="stringliteral">&quot;baz&quot;</span>;
   s.capacity() != s1.capacity()   <span class="comment">// implementation specific, according to the Standard</span>

   <span class="comment">// but...</span>
   s.reserve(20);
   s1.reserve(20);
   s.capacity() == s1.capacity()   <span class="comment">// same sizes</span>
</pre></div><p>If you are not familiar with std::string, following things with this class can be done: </p>
<div class="fragment"><pre class="fragment">   <a class="code" href="classedelib_1_1String.html#a8db865e64c3c3f65ec6a0b6fd8c09a94">String</a> s = <span class="stringliteral">&quot;sample string&quot;</span>;
   s += <span class="stringliteral">&quot; yes&quot;</span>;          <span class="comment">// gives &quot;sample string yes&quot;</span>
   s.clear();            <span class="comment">// clear content</span>
   s.assign(<span class="stringliteral">&quot;foo&quot;</span>)       <span class="comment">// same as: s = &quot;foo&quot;</span>
   s.append(<span class="stringliteral">&quot;baz&quot;</span>)       <span class="comment">// append some data, gives &quot;foobaz&quot;</span>
   <span class="keywordflow">if</span>(s == <span class="stringliteral">&quot;foobaz&quot;</span>) ... <span class="comment">// comparison</span>
   <span class="keywordflow">if</span>(s &gt; <span class="stringliteral">&quot;bla&quot;</span>) ...     <span class="comment">// check if content of s is grater than &quot;bla&quot;</span>
   s += <span class="stringliteral">&quot;xxx&quot;</span>;           <span class="comment">// same as s.append(&quot;xxx&quot;);</span>
   s.find(<span class="stringliteral">&quot;baz&quot;</span>);        <span class="comment">// return position of &quot;baz&quot; in &quot;foobaz&quot;</span>
   s.find(<span class="stringliteral">&quot;demo&quot;</span>);       <span class="comment">// return String::npos, and can be checked like:</span>

   <span class="keywordflow">if</span>(s.find(<span class="stringliteral">&quot;demo&quot;</span>) == <a class="code" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">String::npos</a>)
     <span class="comment">// do something smart</span>
   
   <span class="comment">// not in std::string</span>
   s.printf(<span class="stringliteral">&quot;%s = %i&quot;</span>, <span class="stringliteral">&quot;num&quot;</span>, 4);  <span class="comment">// will be &quot;num = 4&quot;</span>
</pre></div><dl class="note"><dt><b>Note:</b></dt><dd>Since <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> increase internal buffer's size when is needed, some things should be considered to minimize reallocations:<ul>
<li>use <a class="el" href="classedelib_1_1String.html#aa5a46e0d75fdd9f8d966196289f4b219">reserve()</a> if you know the length</li>
<li>prefer operator+= than operator+</li>
</ul>
</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000025">Todo:</a></b></dt><dd>COW would be nice </dd></dl>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8db865e64c3c3f65ec6a0b6fd8c09a94"></a><!-- doxytag: member="edelib::String::String" ref="a8db865e64c3c3f65ec6a0b6fd8c09a94" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create empty string object </p>

</div>
</div>
<a class="anchor" id="af85366dc541925a5ffcad4821d766e5d"></a><!-- doxytag: member="edelib::String::String" ref="af85366dc541925a5ffcad4821d766e5d" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new string with copy of pointer to characters</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>a pointer to c-like string (it should not be NULL) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a326f0bd688ed2b378c3672cc93688e2e"></a><!-- doxytag: member="edelib::String::String" ref="a326f0bd688ed2b378c3672cc93688e2e" args="(const String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Create a new string with copy of another string</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>is object of type <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a998ab66c7adb23a76179eec57d05de9d"></a><!-- doxytag: member="edelib::String::~String" ref="a998ab66c7adb23a76179eec57d05de9d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">~<a class="el" href="classedelib_1_1String.html">String</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Clears all internal data. All possible external pointers to internal buffer will be invalidated </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a2fb39c065c27318758df2167ce5458e3"></a><!-- doxytag: member="edelib::String::append" ref="a2fb39c065c27318758df2167ce5458e3" args="(const char *str, size_type len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; <a class="el" href="classedelib_1_1String.html#a2fb39c065c27318758df2167ce5458e3">append</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Appends content of c-like string, with given length to the end of current string</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itself </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>a pointer to c-like string (it should not be NULL) </td></tr>
    <tr><td class="paramname">len</td><td>a number of character that will be appended </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a313da97786f3dcdf897ce5287a63b327"></a><!-- doxytag: member="edelib::String::append" ref="a313da97786f3dcdf897ce5287a63b327" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; <a class="el" href="classedelib_1_1String.html#a2fb39c065c27318758df2167ce5458e3">append</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Appends content of c-like string with it's full length to the end of current string</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itself </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>a pointer to c-like string (it should not be NULL) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1bf2cadf22d578f17c061fce2ca0183b"></a><!-- doxytag: member="edelib::String::append" ref="a1bf2cadf22d578f17c061fce2ca0183b" args="(const String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; <a class="el" href="classedelib_1_1String.html#a2fb39c065c27318758df2167ce5458e3">append</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Appends content of <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> object to the end of current string</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itself </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>a object of type <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac9c5e2199b54fb5ba6f3935fd48d5b32"></a><!-- doxytag: member="edelib::String::append" ref="ac9c5e2199b54fb5ba6f3935fd48d5b32" args="(size_type num, const char &amp;ch)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; <a class="el" href="classedelib_1_1String.html#a2fb39c065c27318758df2167ce5458e3">append</a> </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char &amp;&#160;</td>
          <td class="paramname"><em>ch</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Appends given character num times at the end of character string</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itself </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">num</td><td>is number of given character </td></tr>
    <tr><td class="paramname">ch</td><td>is character to append </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a25722c0e2d7eba74ffb149d72cf16fbe"></a><!-- doxytag: member="edelib::String::assign" ref="a25722c0e2d7eba74ffb149d72cf16fbe" args="(const char *str, size_type len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; <a class="el" href="classedelib_1_1String.html#a25722c0e2d7eba74ffb149d72cf16fbe">assign</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Assign content of c-like string, with given size. This method will destroy the previous content of the string</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itself </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>a pointer to c-like string (it should not be NULL) </td></tr>
    <tr><td class="paramname">len</td><td>a number of character that will be assigned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a869e7161e078852fb013690ab716237a"></a><!-- doxytag: member="edelib::String::assign" ref="a869e7161e078852fb013690ab716237a" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; <a class="el" href="classedelib_1_1String.html#a25722c0e2d7eba74ffb149d72cf16fbe">assign</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Assign content of c-like string with it's full length.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itself </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>a pointer to c-like string (it should not be NULL) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af4d59c7b4d81bc479884ba4de9cfbd29"></a><!-- doxytag: member="edelib::String::assign" ref="af4d59c7b4d81bc479884ba4de9cfbd29" args="(const String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; <a class="el" href="classedelib_1_1String.html#a25722c0e2d7eba74ffb149d72cf16fbe">assign</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Assing content of <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> object</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itself </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>a object of type <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afaee44f7b89e348000f3af4a76308d7b"></a><!-- doxytag: member="edelib::String::c_str" ref="afaee44f7b89e348000f3af4a76308d7b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">c_str</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return data formated as c-like string</p>
<p>Can be used as input for C functions, like: </p>
<div class="fragment"><pre class="fragment">   <span class="keywordflow">if</span>(strcmp(s.c_str(), <span class="stringliteral">&quot;my smart string&quot;</span>) == 0)
     ...
</pre></div> 
<p>Referenced by <a class="el" href="classTiXmlPrinter.html#a91b713da0032c680dfa529354ecf1d0d">TiXmlPrinter::CStr()</a>, <a class="el" href="classTiXmlPrinter.html#a35793ea09a1f98e6005741507f7e3980">TiXmlPrinter::Indent()</a>, <a class="el" href="classTiXmlPrinter.html#ab48af389e9a758e844f628c5497f33ab">TiXmlPrinter::LineBreak()</a>, <a class="el" href="classedelib_1_1String.html#aaae40a07b88bda9062df26fd704ecdb1">String::operator!=()</a>, <a class="el" href="classedelib_1_1String.html#a08fdb033e5ff95662f21080a17de0627">String::operator&lt;()</a>, <a class="el" href="classedelib_1_1String.html#a3a0e4fba99de3e05c122cf4784e9d148">String::operator&lt;=()</a>, <a class="el" href="classedelib_1_1String.html#ae618933f8842a34d047c78073c1cab9c">String::operator==()</a>, <a class="el" href="classedelib_1_1String.html#a0a3c146012dca15a6418b2f72b0fa10d">String::operator&gt;()</a>, and <a class="el" href="classedelib_1_1String.html#adff8a1f5b9e5cc659ce6cd8d69315006">String::operator&gt;=()</a>.</p>

</div>
</div>
<a class="anchor" id="a3f3f956aa78f472c5e5e7275fd9f854d"></a><!-- doxytag: member="edelib::String::c_str" ref="a3f3f956aa78f472c5e5e7275fd9f854d" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">c_str</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return data formated as c-like string </p>

</div>
</div>
<a class="anchor" id="abc55c7fcfa90f443ce012873292b629d"></a><!-- doxytag: member="edelib::String::capacity" ref="abc55c7fcfa90f443ce012873292b629d" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type <a class="el" href="classedelib_1_1String.html#abc55c7fcfa90f443ce012873292b629d">capacity</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrun size of internal buffer </p>

</div>
</div>
<a class="anchor" id="ae683fe63c33c388e9ba1c6392dd477eb"></a><!-- doxytag: member="edelib::String::clear" ref="ae683fe63c33c388e9ba1c6392dd477eb" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1String.html#ae683fe63c33c388e9ba1c6392dd477eb">clear</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Clear all elements of current string </p>

</div>
</div>
<a class="anchor" id="a4f8299f2a033f040c0c0d92a6406280f"></a><!-- doxytag: member="edelib::String::data" ref="a4f8299f2a033f040c0c0d92a6406280f" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="classedelib_1_1String.html#a4f8299f2a033f040c0c0d92a6406280f">data</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrun pointer to internal buffer</p>
<p>Do <b>not</b> use this function as input for C functions. </p>

</div>
</div>
<a class="anchor" id="a8f26081fc8698ecb3276704a7fa715f1"></a><!-- doxytag: member="edelib::String::empty" ref="a8f26081fc8698ecb3276704a7fa715f1" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classedelib_1_1String.html#a8f26081fc8698ecb3276704a7fa715f1">empty</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Checks if string is empty </p>

</div>
</div>
<a class="anchor" id="a300f82e5a93fcc34456bc6d282b4bcbb"></a><!-- doxytag: member="edelib::String::find" ref="a300f82e5a93fcc34456bc6d282b4bcbb" args="(const char *str, size_type offset) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type <a class="el" href="classedelib_1_1String.html#a300f82e5a93fcc34456bc6d282b4bcbb">find</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns starting position of str starting at offset. If str is not found, <a class="el" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">String::npos</a> will be returned</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>position of str, or <a class="el" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">String::npos</a> if not found </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">str</td><td>is string we are looking for </td></tr>
    <tr><td class="paramname">offset</td><td>position to start looking from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6e604adc7d75bc512c8e4361d13c9d04"></a><!-- doxytag: member="edelib::String::find" ref="a6e604adc7d75bc512c8e4361d13c9d04" args="(char ch, size_type offset) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type <a class="el" href="classedelib_1_1String.html#a300f82e5a93fcc34456bc6d282b4bcbb">find</a> </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>ch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>offset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns starting position of given character starting at the given offset. If character is not found, <a class="el" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">String::npos</a> will be returned</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>position of given character, or <a class="el" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">String::npos</a> if not found </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ch</td><td>character we are looking for </td></tr>
    <tr><td class="paramname">offset</td><td>position to start looking from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aedec3d68e72479cac7eaae5469bfb1e1"></a><!-- doxytag: member="edelib::String::find" ref="aedec3d68e72479cac7eaae5469bfb1e1" args="(const char *str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type <a class="el" href="classedelib_1_1String.html#a300f82e5a93fcc34456bc6d282b4bcbb">find</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns start of given string. Behaves same as find(str, 0) </p>

</div>
</div>
<a class="anchor" id="af82978762f57d4553b0f2c1331c60e65"></a><!-- doxytag: member="edelib::String::length" ref="af82978762f57d4553b0f2c1331c60e65" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type <a class="el" href="classedelib_1_1String.html#af82978762f57d4553b0f2c1331c60e65">length</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retrun size of character data </p>

<p>Referenced by <a class="el" href="classedelib_1_1String.html#a203b726b83a9360edabdcfaea9a3d4df">String::operator==()</a>, <a class="el" href="classTiXmlPrinter.html#a7b470b21b5807f0a9162bef72aebfef9">TiXmlPrinter::Size()</a>, and <a class="el" href="namespaceedelib.html#ae9a74aa6cd85961439930feb7e95a0ef">edelib::stringtok()</a>.</p>

</div>
</div>
<a class="anchor" id="aab96e27bce71536905a3a04deba20dda"></a><!-- doxytag: member="edelib::String::operator+=" ref="aab96e27bce71536905a3a04deba20dda" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; operator+= </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as append(str) </p>

</div>
</div>
<a class="anchor" id="a8c09167d2a0ffed51ebea0865b3e16e9"></a><!-- doxytag: member="edelib::String::operator+=" ref="a8c09167d2a0ffed51ebea0865b3e16e9" args="(const String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as append(String type) </p>

</div>
</div>
<a class="anchor" id="ad29ee991baa69b30d96566edf5e79510"></a><!-- doxytag: member="edelib::String::operator+=" ref="ad29ee991baa69b30d96566edf5e79510" args="(const char &amp;ch)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; operator+= </td>
          <td>(</td>
          <td class="paramtype">const char &amp;&#160;</td>
          <td class="paramname"><em>ch</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as append(1, ch) </p>

</div>
</div>
<a class="anchor" id="a3e626a1045ee2f91b14775af5c1df38b"></a><!-- doxytag: member="edelib::String::operator=" ref="a3e626a1045ee2f91b14775af5c1df38b" args="(const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as assign(str) </p>

</div>
</div>
<a class="anchor" id="aa7694556e438408131523c949aeecdd0"></a><!-- doxytag: member="edelib::String::operator=" ref="aa7694556e438408131523c949aeecdd0" args="(const String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Same as assign(String type) </p>

</div>
</div>
<a class="anchor" id="a114930f20d1b6d987150583f2586c9e8"></a><!-- doxytag: member="edelib::String::operator[]" ref="a114930f20d1b6d987150583f2586c9e8" args="(size_type index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char&amp; operator[] </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns character at given index </p>

</div>
</div>
<a class="anchor" id="a3b9cdf50a48f31d546cc38a5122c2778"></a><!-- doxytag: member="edelib::String::operator[]" ref="a3b9cdf50a48f31d546cc38a5122c2778" args="(size_type index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char operator[] </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns character at given index </p>

</div>
</div>
<a class="anchor" id="a0aff7311d684a0e0ef33125616a73385"></a><!-- doxytag: member="edelib::String::printf" ref="a0aff7311d684a0e0ef33125616a73385" args="(const char *fmt,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1String.html#a0aff7311d684a0e0ef33125616a73385">printf</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Assign data in printf form. All previous content will be deleted. </p>

</div>
</div>
<a class="anchor" id="a6d59fceed09d9496ce765d520dd875d8"></a><!-- doxytag: member="edelib::String::replace" ref="a6d59fceed09d9496ce765d520dd875d8" args="(char c1, char c2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a>&amp; <a class="el" href="classedelib_1_1String.html#a6d59fceed09d9496ce765d520dd875d8">replace</a> </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>c2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Replace every occurence of c1 with the c2</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itself </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c1</td><td>is character that will be replaced </td></tr>
    <tr><td class="paramname">c2</td><td>is character used for replacement </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aa5a46e0d75fdd9f8d966196289f4b219"></a><!-- doxytag: member="edelib::String::reserve" ref="aa5a46e0d75fdd9f8d966196289f4b219" args="(size_type len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1String.html#aa5a46e0d75fdd9f8d966196289f4b219">reserve</a> </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>len</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set size of internal buffer</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">len</td><td>is size we want </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aef921468bc1580e5b31c0880b1d40f92"></a><!-- doxytag: member="edelib::String::substr" ref="aef921468bc1580e5b31c0880b1d40f92" args="(size_type index, size_type num=npos) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a> <a class="el" href="classedelib_1_1String.html#aef921468bc1580e5b31c0880b1d40f92">substr</a> </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>num</em> = <code><a class="el" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">npos</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a substring of the current string starting at the index with num characters long. If num is not specified, returned will be remain data starting from index</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>substring </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>starting position for substring </td></tr>
    <tr><td class="paramname">num</td><td>ending position for substring </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="namespaceedelib.html#ae9a74aa6cd85961439930feb7e95a0ef">edelib::stringtok()</a>.</p>

</div>
</div>
<a class="anchor" id="a96694be414566ea2329dd789bd6d8335"></a><!-- doxytag: member="edelib::String::swap" ref="a96694be414566ea2329dd789bd6d8335" args="(String &amp;from)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1String.html#a96694be414566ea2329dd789bd6d8335">swap</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>from</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Exchange the elements of current string with given</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>is replacement target </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab45dbcc2a569d9716ef321e05ea9ac3a"></a><!-- doxytag: member="edelib::String::trim" ref="ab45dbcc2a569d9716ef321e05ea9ac3a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1String.html#ab45dbcc2a569d9716ef321e05ea9ac3a">trim</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove starting and ending spaces </p>

</div>
</div>
<a class="anchor" id="a4049cdc5231e598bd70fadff6e497cdf"></a><!-- doxytag: member="edelib::String::trim_left" ref="a4049cdc5231e598bd70fadff6e497cdf" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1String.html#a4049cdc5231e598bd70fadff6e497cdf">trim_left</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove starting spaces </p>

</div>
</div>
<a class="anchor" id="a7d68677686a5d3690fb70486522eb2ed"></a><!-- doxytag: member="edelib::String::trim_right" ref="a7d68677686a5d3690fb70486522eb2ed" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classedelib_1_1String.html#a7d68677686a5d3690fb70486522eb2ed">trim_right</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Remove ending spaces </p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="aaae40a07b88bda9062df26fd704ecdb1"></a><!-- doxytag: member="edelib::String::operator!=" ref="aaae40a07b88bda9062df26fd704ecdb1" args="(const String &amp;str1, const char *str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> and cstring are not equal </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="ac03279cd67abeedf49244349b2e3c0a9"></a><!-- doxytag: member="edelib::String::operator!=" ref="ac03279cd67abeedf49244349b2e3c0a9" args="(const char *str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator!= </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if cstring and <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> are not equal </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a45f0de58ed8add2403865e25a4c6cfc3"></a><!-- doxytag: member="edelib::String::operator!=" ref="a45f0de58ed8add2403865e25a4c6cfc3" args="(const String &amp;str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if two <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a>'s are not equal </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="aa32f7361ca2291f8996eec46dd3baaed"></a><!-- doxytag: member="edelib::String::operator+" ref="aa32f7361ca2291f8996eec46dd3baaed" args="(const String &amp;s1, const String &amp;s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>s2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Concat two <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> objects </p>

</div>
</div>
<a class="anchor" id="a5cec349438a2989e4dd87b91c230fe91"></a><!-- doxytag: member="edelib::String::operator+" ref="a5cec349438a2989e4dd87b91c230fe91" args="(const char *s1, const String &amp;s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>s2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Concat cstring and <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> object </p>

</div>
</div>
<a class="anchor" id="a8312b703b4c3e068ff2680e4005b3cc4"></a><!-- doxytag: member="edelib::String::operator+" ref="a8312b703b4c3e068ff2680e4005b3cc4" args="(const String &amp;s1, const char *s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classedelib_1_1String.html">String</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Concat <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> and cstring </p>

</div>
</div>
<a class="anchor" id="a08fdb033e5ff95662f21080a17de0627"></a><!-- doxytag: member="edelib::String::operator&lt;" ref="a08fdb033e5ff95662f21080a17de0627" args="(const String &amp;str1, const char *str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> is less than cstring </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="aef4fd9d44dab1db62b6646649dbed506"></a><!-- doxytag: member="edelib::String::operator&lt;" ref="aef4fd9d44dab1db62b6646649dbed506" args="(const char *str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt; </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if cstring is less than <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a56ebd4ab2f0e85ddf5f8128df54d79b3"></a><!-- doxytag: member="edelib::String::operator&lt;" ref="a56ebd4ab2f0e85ddf5f8128df54d79b3" args="(const String &amp;str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if first <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> is less than the second </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a3a0e4fba99de3e05c122cf4784e9d148"></a><!-- doxytag: member="edelib::String::operator&lt;=" ref="a3a0e4fba99de3e05c122cf4784e9d148" args="(const String &amp;str1, const char *str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt;= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> is less or equal to cstring </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a1300c87dea4bf67741e6367d104c24dd"></a><!-- doxytag: member="edelib::String::operator&lt;=" ref="a1300c87dea4bf67741e6367d104c24dd" args="(const char *str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt;= </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if cstring is less or equal to the <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a660c8d06d2fd38bed5e56cd2ac5af203"></a><!-- doxytag: member="edelib::String::operator&lt;=" ref="a660c8d06d2fd38bed5e56cd2ac5af203" args="(const String &amp;str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&lt;= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if first <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> is less or equal than the second </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="ae618933f8842a34d047c78073c1cab9c"></a><!-- doxytag: member="edelib::String::operator==" ref="ae618933f8842a34d047c78073c1cab9c" args="(const String &amp;str1, const char *str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> and cstring are equal </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a23a1b9964ed28c2f2c8b3639d3d6088d"></a><!-- doxytag: member="edelib::String::operator==" ref="a23a1b9964ed28c2f2c8b3639d3d6088d" args="(const char *str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator== </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if cstring and <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> are equal </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a203b726b83a9360edabdcfaea9a3d4df"></a><!-- doxytag: member="edelib::String::operator==" ref="a203b726b83a9360edabdcfaea9a3d4df" args="(const String &amp;str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if two <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a>'s are equal </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>, and <a class="el" href="classedelib_1_1String.html#af82978762f57d4553b0f2c1331c60e65">String::length()</a>.</p>

</div>
</div>
<a class="anchor" id="a0a3c146012dca15a6418b2f72b0fa10d"></a><!-- doxytag: member="edelib::String::operator&gt;" ref="a0a3c146012dca15a6418b2f72b0fa10d" args="(const String &amp;str1, const char *str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&gt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> is larger than cstring </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a448bc57375a295ddb96e3f3977a0dd93"></a><!-- doxytag: member="edelib::String::operator&gt;" ref="a448bc57375a295ddb96e3f3977a0dd93" args="(const char *str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&gt; </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if cstring is larger than <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a26a9f8908b6aeaac52ef3252d49bb458"></a><!-- doxytag: member="edelib::String::operator&gt;" ref="a26a9f8908b6aeaac52ef3252d49bb458" args="(const String &amp;str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&gt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if first <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> is larger than the second </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="adff8a1f5b9e5cc659ce6cd8d69315006"></a><!-- doxytag: member="edelib::String::operator&gt;=" ref="adff8a1f5b9e5cc659ce6cd8d69315006" args="(const String &amp;str1, const char *str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&gt;= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> is larger or equal to the cstring </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="af0ed03b1642cd5930360e24493dcc838"></a><!-- doxytag: member="edelib::String::operator&gt;=" ref="af0ed03b1642cd5930360e24493dcc838" args="(const char *str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&gt;= </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if cstring is larger or equal to <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<a class="anchor" id="a9fb11cd6aa3d2ea8cf9c8eb7e2a0daf8"></a><!-- doxytag: member="edelib::String::operator&gt;=" ref="a9fb11cd6aa3d2ea8cf9c8eb7e2a0daf8" args="(const String &amp;str1, const String &amp;str2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool operator&gt;= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classedelib_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>str2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [related]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if first <a class="el" href="classedelib_1_1String.html" title="A (relatively simple) string implementation.">String</a> is larger or equal than the second </p>

<p>References <a class="el" href="classedelib_1_1String.html#afaee44f7b89e348000f3af4a76308d7b">String::c_str()</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ab87de14283f53f998f4113b7d96f33b1"></a><!-- doxytag: member="edelib::String::npos" ref="ab87de14283f53f998f4113b7d96f33b1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_type <a class="el" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">npos</a><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This will be returned when <a class="el" href="classedelib_1_1String.html#a300f82e5a93fcc34456bc6d282b4bcbb">find()</a> method fails. If is meant to be used in form: </p>
<div class="fragment"><pre class="fragment">   <a class="code" href="classedelib_1_1String.html#a8db865e64c3c3f65ec6a0b6fd8c09a94">String</a> s;
   <span class="keywordflow">if</span>(s.find(<span class="stringliteral">&quot;this does not exist&quot;</span>) == <a class="code" href="classedelib_1_1String.html#ab87de14283f53f998f4113b7d96f33b1">String::npos</a>)
     <span class="comment">// do something smart</span>
</pre></div> 
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>edelib/<a class="el" href="String_8h_source.html">String.h</a></li>
</ul>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Tue Jun 5 2012 17:49:03 for edelib by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>