Sophie

Sophie

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

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: csStringArray 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>csStringArray Class Reference</h1><!-- doxytag: class="csStringArray" --><!-- doxytag: inherits="csArray&lt; const char *, csStringArrayElementHandler &gt;" -->An array of strings.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="csutil_2stringarray_8h-source.html">csutil/stringarray.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csStringArray:</div>
<div class="dynsection">
<p><center><img src="classcsStringArray__inherit__graph.png" border="0" usemap="#csStringArray__inherit__map" alt="Inheritance graph"></center>
<map name="csStringArray__inherit__map">
<area shape="rect" href="classcsArray.html" title="csArray\&lt; const char *, csStringArrayElementHandler \&gt;" alt="" coords="5,84,384,111"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="84,7,305,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classcsStringArray-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 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="classcsStringArray.html#03c4440bfd7875ad72f4847601f32980">ConsecutiveDelimiterMode</a> { <a class="el" href="classcsStringArray.html#03c4440bfd7875ad72f4847601f32980786461dd243363879124ffd104ad1ec2">delimSplitEach</a>, 
<a class="el" href="classcsStringArray.html#03c4440bfd7875ad72f4847601f329805e2047a3a9a9cb1cf2400203902122b8">delimIgnore</a>, 
<a class="el" href="classcsStringArray.html#03c4440bfd7875ad72f4847601f32980c64fb0e0355315c6326398405adb77c6">delimIgnoreDifferent</a>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mode how <a class="el" href="classcsStringArray.html#d44b6f76093351e27afe2c74aa6230f5" title="Add a number of strings to this array by splitting str at characters from delimiters...">SplitString()</a> treats consecutive occurance of delimiters.  <a href="classcsStringArray.html#03c4440bfd7875ad72f4847601f32980">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Public 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="classcsStringArray.html#84d083bce94aa101eef0d13d6e21a5d7">Contains</a> (const char *str, bool case_sensitive=true) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alias for <a class="el" href="classcsStringArray.html#516fdf7ec599e20902d34682a4df3beb" title="Find a string, case-sensitive.">Find()</a> and <a class="el" href="classcsStringArray.html#e25a7fea82fb68943458c363398a682b" title="Find a string, case-insensitive.">FindCaseInsensitive()</a>.  <a href="#84d083bce94aa101eef0d13d6e21a5d7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringArray.html#07a5351eb454d89bb8e831f2033fc6be">csStringArray</a> (size_t limit=0, size_t threshold=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize object to hold initially <code>limit</code> elements, and increase storage by <code>threshold</code> each time the upper bound is exceeded.  <a href="#07a5351eb454d89bb8e831f2033fc6be"></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="classcsStringArray.html#516fdf7ec599e20902d34682a4df3beb">Find</a> (const char *str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find a string, case-sensitive.  <a href="#516fdf7ec599e20902d34682a4df3beb"></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="classcsStringArray.html#e25a7fea82fb68943458c363398a682b">FindCaseInsensitive</a> (const char *str) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find a string, case-insensitive.  <a href="#e25a7fea82fb68943458c363398a682b"></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="classcsStringArray.html#2142192372460b184a9cba1ba44010f8">FindSortedKey</a> (char const *key, bool case_sensitive=true, size_t *candidate=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find an element.  <a href="#2142192372460b184a9cba1ba44010f8"></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="classcsStringArray.html#d9621a47fea0bb28dcc0372ed34bcf0c">FindSortedKey</a> (<a class="el" href="classcsArrayCmp.html">csArrayCmp</a>&lt; char const *, char const * &gt; comparekey, size_t *candidate=0) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find an element based on some key, using a comparison function.  <a href="#d9621a47fea0bb28dcc0372ed34bcf0c"></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="classcsStringArray.html#cc580cff7406a9e87100b1037baf36c3">InsertSorted</a> (const char *item, bool case_sensitive=true, size_t *equal_index=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert an element at a sorted position.  <a href="#cc580cff7406a9e87100b1037baf36c3"></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="classcsStringArray.html#684775c584254b62620c486fbb6b36e3">Pop</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop an element from tail end of array.  <a href="#684775c584254b62620c486fbb6b36e3"></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="classcsStringArray.html#73322fabc05c8d16822b70f27358caf7">Sort</a> (bool case_sensitive=true)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort array.  <a href="#73322fabc05c8d16822b70f27358caf7"></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="classcsStringArray.html#668d83c5174cf71444631fa8888f9bea">Sort</a> (int(*compare)(char const *const &amp;, char const *const &amp;))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sort array based on comparison function.  <a href="#668d83c5174cf71444631fa8888f9bea"></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="classcsStringArray.html#d44b6f76093351e27afe2c74aa6230f5">SplitString</a> (const char *str, const char *delimiters, <a class="el" href="classcsStringArray.html#03c4440bfd7875ad72f4847601f32980">ConsecutiveDelimiterMode</a> delimMode=delimSplitEach)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a number of strings to this array by splitting <em>str</em> at characters from <em>delimiters</em>.  <a href="#d44b6f76093351e27afe2c74aa6230f5"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringArray.html#cc046beba5cfc566ddd4f37a71a1841e">CaseInsensitiveCompare</a> (const char *const &amp;item1, const char *const &amp;item2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case-insensitive comparision function for strings.  <a href="#cc046beba5cfc566ddd4f37a71a1841e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsStringArray.html#b621dc2e012d651f3388c6cb381730b9">CaseSensitiveCompare</a> (const char *const &amp;item1, const char *const &amp;item2)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Case-sensitive comparision function for strings.  <a href="#b621dc2e012d651f3388c6cb381730b9"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
An array of strings. 
<p>
This array will properly make copies of the strings and later delete those copies via delete[]. 
<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00056">56</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="03c4440bfd7875ad72f4847601f32980"></a><!-- doxytag: member="csStringArray::ConsecutiveDelimiterMode" ref="03c4440bfd7875ad72f4847601f32980" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classcsStringArray.html#03c4440bfd7875ad72f4847601f32980">csStringArray::ConsecutiveDelimiterMode</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Mode how <a class="el" href="classcsStringArray.html#d44b6f76093351e27afe2c74aa6230f5" title="Add a number of strings to this array by splitting str at characters from delimiters...">SplitString()</a> treats consecutive occurance of delimiters. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="03c4440bfd7875ad72f4847601f32980786461dd243363879124ffd104ad1ec2"></a><!-- doxytag: member="delimSplitEach" ref="03c4440bfd7875ad72f4847601f32980786461dd243363879124ffd104ad1ec2" args="" -->delimSplitEach</em>&nbsp;</td><td>
Split at each different delimiter. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="03c4440bfd7875ad72f4847601f329805e2047a3a9a9cb1cf2400203902122b8"></a><!-- doxytag: member="delimIgnore" ref="03c4440bfd7875ad72f4847601f329805e2047a3a9a9cb1cf2400203902122b8" args="" -->delimIgnore</em>&nbsp;</td><td>
Ignore consecutive delimiters (except the first). 
<p>
In other words, any number of consecutive delimiters is treated like there was only one delimiter. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="03c4440bfd7875ad72f4847601f32980c64fb0e0355315c6326398405adb77c6"></a><!-- doxytag: member="delimIgnoreDifferent" ref="03c4440bfd7875ad72f4847601f32980c64fb0e0355315c6326398405adb77c6" args="" -->delimIgnoreDifferent</em>&nbsp;</td><td>
Only ignore consecutive delimiters if they're different. </td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00205">205</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="07a5351eb454d89bb8e831f2033fc6be"></a><!-- doxytag: member="csStringArray::csStringArray" ref="07a5351eb454d89bb8e831f2033fc6be" args="(size_t limit=0, size_t threshold=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csStringArray::csStringArray           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>limit</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>threshold</em> = <code>0</code></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>
Initialize object to hold initially <code>limit</code> elements, and increase storage by <code>threshold</code> each time the upper bound is exceeded. 
<p>

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

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="cc046beba5cfc566ddd4f37a71a1841e"></a><!-- doxytag: member="csStringArray::CaseInsensitiveCompare" ref="cc046beba5cfc566ddd4f37a71a1841e" args="(const char *const &amp;item1, const char *const &amp;item2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int csStringArray::CaseInsensitiveCompare           </td>
          <td>(</td>
          <td class="paramtype">const char *const &amp;&nbsp;</td>
          <td class="paramname"> <em>item1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *const &amp;&nbsp;</td>
          <td class="paramname"> <em>item2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Case-insensitive comparision function for strings. 
<p>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00079">79</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

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

<p>Referenced by <a class="el" href="csutil_2stringarray_8h-source.html#l00122">FindSortedKey()</a>, <a class="el" href="csutil_2stringarray_8h-source.html#l00135">InsertSorted()</a>, and <a class="el" href="csutil_2stringarray_8h-source.html#l00098">Sort()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b621dc2e012d651f3388c6cb381730b9"></a><!-- doxytag: member="csStringArray::CaseSensitiveCompare" ref="b621dc2e012d651f3388c6cb381730b9" args="(const char *const &amp;item1, const char *const &amp;item2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int csStringArray::CaseSensitiveCompare           </td>
          <td>(</td>
          <td class="paramtype">const char *const &amp;&nbsp;</td>
          <td class="paramname"> <em>item1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *const &amp;&nbsp;</td>
          <td class="paramname"> <em>item2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Case-sensitive comparision function for strings. 
<p>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00072">72</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>Referenced by <a class="el" href="csutil_2stringarray_8h-source.html#l00122">FindSortedKey()</a>, <a class="el" href="csutil_2stringarray_8h-source.html#l00135">InsertSorted()</a>, and <a class="el" href="csutil_2stringarray_8h-source.html#l00098">Sort()</a>.</p>

</div>
</div><p>
<a class="anchor" name="84d083bce94aa101eef0d13d6e21a5d7"></a><!-- doxytag: member="csStringArray::Contains" ref="84d083bce94aa101eef0d13d6e21a5d7" args="(const char *str, bool case_sensitive=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringArray::Contains           </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">bool&nbsp;</td>
          <td class="paramname"> <em>case_sensitive</em> = <code>true</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>
Alias for <a class="el" href="classcsStringArray.html#516fdf7ec599e20902d34682a4df3beb" title="Find a string, case-sensitive.">Find()</a> and <a class="el" href="classcsStringArray.html#e25a7fea82fb68943458c363398a682b" title="Find a string, case-insensitive.">FindCaseInsensitive()</a>. 
<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 to look for in array. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>case_sensitive</em>&nbsp;</td><td>If true, consider case when performing comparison. (default: yes) </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>csArrayItemNotFound if not found, else item index. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Works with sorted and unsorted arrays, but <a class="el" href="classcsStringArray.html#d9621a47fea0bb28dcc0372ed34bcf0c" title="Find an element based on some key, using a comparison function.">FindSortedKey()</a> is faster on sorted arrays. <p>
Some people find <a class="el" href="classcsStringArray.html#84d083bce94aa101eef0d13d6e21a5d7" title="Alias for Find() and FindCaseInsensitive().">Contains()</a> more idiomatic than <a class="el" href="classcsStringArray.html#516fdf7ec599e20902d34682a4df3beb" title="Find a string, case-sensitive.">Find()</a>. </dd></dl>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00197">197</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="csutil_2stringarray_8h-source.html#l00164">Find()</a>, and <a class="el" href="csutil_2stringarray_8h-source.html#l00178">FindCaseInsensitive()</a>.</p>

<p>Referenced by <a class="el" href="scfstringarray_8h-source.html#l00130">scfStringArray::Contains()</a>.</p>

</div>
</div><p>
<a class="anchor" name="516fdf7ec599e20902d34682a4df3beb"></a><!-- doxytag: member="csStringArray::Find" ref="516fdf7ec599e20902d34682a4df3beb" args="(const char *str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringArray::Find           </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>
Find a string, case-sensitive. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>csArrayItemNotFound if not found, else item index. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Works with sorted and unsorted arrays, but <a class="el" href="classcsStringArray.html#d9621a47fea0bb28dcc0372ed34bcf0c" title="Find an element based on some key, using a comparison function.">FindSortedKey()</a> is faster on sorted arrays. </dd></dl>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00164">164</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="csutil_2array_8h-source.html#l00613">csArray&lt; const char *, csStringArrayElementHandler &gt;::Get()</a>, and <a class="el" href="csutil_2array_8h-source.html#l00535">csArray&lt; const char *, csStringArrayElementHandler &gt;::GetSize()</a>.</p>

<p>Referenced by <a class="el" href="csutil_2stringarray_8h-source.html#l00197">Contains()</a>, and <a class="el" href="scfstringarray_8h-source.html#l00093">scfStringArray::Find()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e25a7fea82fb68943458c363398a682b"></a><!-- doxytag: member="csStringArray::FindCaseInsensitive" ref="e25a7fea82fb68943458c363398a682b" args="(const char *str) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringArray::FindCaseInsensitive           </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>
Find a string, case-insensitive. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>csArrayItemNotFound if not found, else item index. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Works with sorted and unsorted arrays, but <a class="el" href="classcsStringArray.html#d9621a47fea0bb28dcc0372ed34bcf0c" title="Find an element based on some key, using a comparison function.">FindSortedKey()</a> is faster on sorted arrays. </dd></dl>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00178">178</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="group__util.html#gd3b337b96b8bafe9b27b4cf683d85fdb">csStrCaseCmp()</a>, <a class="el" href="csutil_2array_8h-source.html#l00613">csArray&lt; const char *, csStringArrayElementHandler &gt;::Get()</a>, and <a class="el" href="csutil_2array_8h-source.html#l00535">csArray&lt; const char *, csStringArrayElementHandler &gt;::GetSize()</a>.</p>

<p>Referenced by <a class="el" href="csutil_2stringarray_8h-source.html#l00197">Contains()</a>, and <a class="el" href="scfstringarray_8h-source.html#l00104">scfStringArray::FindCaseInsensitive()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2142192372460b184a9cba1ba44010f8"></a><!-- doxytag: member="csStringArray::FindSortedKey" ref="2142192372460b184a9cba1ba44010f8" args="(char const *key, bool case_sensitive=true, size_t *candidate=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringArray::FindSortedKey           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>case_sensitive</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&nbsp;</td>
          <td class="paramname"> <em>candidate</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 an element. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>csArrayItemNotFound if not found, else item index. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The array must be sorted. </dd></dl>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00122">122</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="csutil_2stringarray_8h-source.html#l00079">CaseInsensitiveCompare()</a>, <a class="el" href="csutil_2stringarray_8h-source.html#l00072">CaseSensitiveCompare()</a>, and <a class="el" href="csutil_2stringarray_8h-source.html#l00111">FindSortedKey()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d9621a47fea0bb28dcc0372ed34bcf0c"></a><!-- doxytag: member="csStringArray::FindSortedKey" ref="d9621a47fea0bb28dcc0372ed34bcf0c" args="(csArrayCmp&lt; char const *, char const * &gt; comparekey, size_t *candidate=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringArray::FindSortedKey           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsArrayCmp.html">csArrayCmp</a>&lt; char const *, char const * &gt;&nbsp;</td>
          <td class="paramname"> <em>comparekey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&nbsp;</td>
          <td class="paramname"> <em>candidate</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 an element based on some key, using a comparison function. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>csArrayItemNotFound if not found, else item index. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>The array must be sorted. </dd></dl>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00111">111</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="csutil_2array_8h-source.html#l00781">csArray&lt; const char *, csStringArrayElementHandler &gt;::FindSortedKey()</a>.</p>

<p>Referenced by <a class="el" href="csutil_2stringarray_8h-source.html#l00122">FindSortedKey()</a>, and <a class="el" href="scfstringarray_8h-source.html#l00114">scfStringArray::FindSortedKey()</a>.</p>

</div>
</div><p>
<a class="anchor" name="cc580cff7406a9e87100b1037baf36c3"></a><!-- doxytag: member="csStringArray::InsertSorted" ref="cc580cff7406a9e87100b1037baf36c3" args="(const char *item, bool case_sensitive=true, size_t *equal_index=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringArray::InsertSorted           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>item</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>case_sensitive</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&nbsp;</td>
          <td class="paramname"> <em>equal_index</em> = <code>0</code></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>
Insert an element at a sorted position. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Assumes array is already sorted. </dd></dl>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00135">135</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="csutil_2stringarray_8h-source.html#l00079">CaseInsensitiveCompare()</a>, <a class="el" href="csutil_2stringarray_8h-source.html#l00072">CaseSensitiveCompare()</a>, and <a class="el" href="csutil_2array_8h-source.html#l00815">csArray&lt; const char *, csStringArrayElementHandler &gt;::InsertSorted()</a>.</p>

</div>
</div><p>
<a class="anchor" name="684775c584254b62620c486fbb6b36e3"></a><!-- doxytag: member="csStringArray::Pop" ref="684775c584254b62620c486fbb6b36e3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* csStringArray::Pop           </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>
Pop an element from tail end of array. 
<p>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Caller is responsible for invoking delete[] on the returned string when no longer needed. </dd></dl>

<p>Reimplemented from <a class="el" href="classcsArray.html#655e373ba6de12e2fe2ceda2880f1f89">csArray&lt; const char *, csStringArrayElementHandler &gt;</a>.</p>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00148">148</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="cssysdef_8h.html#c380bd47888ecfe73e7b7a40b6f827a1">CS_ASSERT</a>, <a class="el" href="csutil_2array_8h-source.html#l00613">csArray&lt; const char *, csStringArrayElementHandler &gt;::Get()</a>, <a class="el" href="csutil_2array_8h-source.html#l00535">csArray&lt; const char *, csStringArrayElementHandler &gt;::GetSize()</a>, <a class="el" href="csutil_2array_8h-source.html#l00387">csArray&lt; const char *, csStringArrayElementHandler &gt;::InitRegion()</a>, and <a class="el" href="csutil_2array_8h-source.html#l00575">csArray&lt; const char *, csStringArrayElementHandler &gt;::SetSize()</a>.</p>

<p>Referenced by <a class="el" href="scfstringarray_8h-source.html#l00076">scfStringArray::Pop()</a>.</p>

</div>
</div><p>
<a class="anchor" name="73322fabc05c8d16822b70f27358caf7"></a><!-- doxytag: member="csStringArray::Sort" ref="73322fabc05c8d16822b70f27358caf7" args="(bool case_sensitive=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringArray::Sort           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>case_sensitive</em> = <code>true</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sort array. 
<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>case_sensitive</em>&nbsp;</td><td>If true, consider case when performing comparison. (default: yes) </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00098">98</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="csutil_2stringarray_8h-source.html#l00079">CaseInsensitiveCompare()</a>, <a class="el" href="csutil_2stringarray_8h-source.html#l00072">CaseSensitiveCompare()</a>, and <a class="el" href="csutil_2stringarray_8h-source.html#l00088">Sort()</a>.</p>

</div>
</div><p>
<a class="anchor" name="668d83c5174cf71444631fa8888f9bea"></a><!-- doxytag: member="csStringArray::Sort" ref="668d83c5174cf71444631fa8888f9bea" args="(int(*compare)(char const *const &amp;, char const *const &amp;))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csStringArray::Sort           </td>
          <td>(</td>
          <td class="paramtype">int(*)(char const *const &amp;, char const *const &amp;)&nbsp;</td>
          <td class="paramname"> <em>compare</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sort array based on comparison function. 
<p>

<p>Reimplemented from <a class="el" href="classcsArray.html#360f8dcebc163d0437331324bc3cded3">csArray&lt; const char *, csStringArrayElementHandler &gt;</a>.</p>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00088">88</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="csutil_2array_8h-source.html#l00877">csArray&lt; const char *, csStringArrayElementHandler &gt;::Sort()</a>.</p>

<p>Referenced by <a class="el" href="csutil_2stringarray_8h-source.html#l00098">Sort()</a>, and <a class="el" href="scfstringarray_8h-source.html#l00140">scfStringArray::Sort()</a>.</p>

</div>
</div><p>
<a class="anchor" name="d44b6f76093351e27afe2c74aa6230f5"></a><!-- doxytag: member="csStringArray::SplitString" ref="d44b6f76093351e27afe2c74aa6230f5" args="(const char *str, const char *delimiters, ConsecutiveDelimiterMode delimMode=delimSplitEach)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t csStringArray::SplitString           </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">const char *&nbsp;</td>
          <td class="paramname"> <em>delimiters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsStringArray.html#03c4440bfd7875ad72f4847601f32980">ConsecutiveDelimiterMode</a>&nbsp;</td>
          <td class="paramname"> <em>delimMode</em> = <code>delimSplitEach</code></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>
Add a number of strings to this array by splitting <em>str</em> at characters from <em>delimiters</em>. 
<p>

<p>Definition at line <a class="el" href="csutil_2stringarray_8h-source.html#l00224">224</a> of file <a class="el" href="csutil_2stringarray_8h-source.html">stringarray.h</a>.</p>

<p>References <a class="el" href="classcsStringBase.html#9b78c60659ea1e5bea610d4d2eb29016">csStringBase::Append()</a>, <a class="el" href="csutil_2stringarray_8h-source.html#l00214">delimIgnore</a>, <a class="el" href="csutil_2stringarray_8h-source.html#l00218">delimIgnoreDifferent</a>, <a class="el" href="csutil_2stringarray_8h-source.html#l00208">delimSplitEach</a>, <a class="el" href="csstring_8h-source.html#l00319">csStringBase::Empty()</a>, and <a class="el" href="csutil_2array_8h-source.html#l00691">csArray&lt; const char *, csStringArrayElementHandler &gt;::Push()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csutil/<a class="el" href="csutil_2stringarray_8h-source.html">stringarray.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>