Sophie

Sophie

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

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: Containers (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><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>
<h1>Containers<br>
<small>
[<a class="el" href="group__util.html">Utilities</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsArray.html">csArray&lt; T, ElementHandler, MemoryAllocator, CapacityHandler &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A templated array class.  <a href="classcsArray.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcsArrayCapacityDefault.html">csArrayCapacityDefault</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsArrayCapacityLinear.html">csArrayCapacityLinear&lt; Threshold &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classcsArray.html" title="A templated array class.">csArray</a> capacity handler.  <a href="classcsArrayCapacityLinear.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsArrayCmp.html">csArrayCmp&lt; T, K &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A functor template which encapsulates a key and a comparison function for use with key-related csArray&lt;&gt; searching methods, such as FindKey() and FindSortedKey().  <a href="classcsArrayCmp.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsArrayElementHandler.html">csArrayElementHandler&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The default element handler for <a class="el" href="classcsArray.html" title="A templated array class.">csArray</a>.  <a href="classcsArrayElementHandler.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsArraySafeCopyElementHandler.html">csArraySafeCopyElementHandler&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Special element handler for <a class="el" href="classcsArray.html" title="A templated array class.">csArray</a> that makes sure that when the array is reallocated that the objects are properly constructed and destructed at their new position.  <a href="classcsArraySafeCopyElementHandler.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsArrayThresholdFixed.html">csArrayThresholdFixed&lt; N &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classcsArray.html" title="A templated array class.">csArray</a> fixed threshold for capacity handlers.  <a href="classcsArrayThresholdFixed.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsArrayThresholdVariable.html">csArrayThresholdVariable</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classcsArray.html" title="A templated array class.">csArray</a> variable threshold for capacity handlers.  <a href="classcsArrayThresholdVariable.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsComparator.html">csComparator&lt; T1, T2 &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A template providing various comparison and ordering functions.  <a href="classcsComparator.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsComparator_3_01const_01char_01_5_00_01const_01char_01_5_01_4.html">csComparator&lt; const char *, const char * &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">csComparator&lt;&gt; specialization for strings that uses strcmp().  <a href="classcsComparator_3_01const_01char_01_5_00_01const_01char_01_5_01_4.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsComparator_3_01csString_00_01csString_01_4.html">csComparator&lt; csString, csString &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">csComparator&lt;&gt; specialization for <a class="el" href="classcsString.html" title="Thin wrapper around csStringFast&lt;&gt; with its default buffer size.">csString</a> that uses strcmp().  <a href="classcsComparator_3_01csString_00_01csString_01_4.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsComparator_3_01csString_00_01csString_01_4.html">csComparator&lt; csString, csString &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">csComparator&lt;&gt; specialization for <a class="el" href="classcsString.html" title="Thin wrapper around csStringFast&lt;&gt; with its default buffer size.">csString</a> that uses strcmp().  <a href="classcsComparator_3_01csString_00_01csString_01_4.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsComparator_3_01csStringBase_00_01csStringBase_01_4.html">csComparator&lt; csStringBase, csStringBase &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsComparatorString.html">csComparatorString&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template that can be used as a base class for comparators for string types.  <a href="classcsComparatorString.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsComparatorStruct.html">csComparatorStruct&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template that can be used as a base class for comparators for POD (plain old data) types.  <a href="classcsComparatorStruct.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsConstPtrKey.html">csConstPtrKey&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A helper template to use const pointers as keys for hashes.  <a href="classcsConstPtrKey.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHash.html">csHash&lt; T, K, ArrayMemoryAlloc &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic hash table class, which grows dynamically and whose buckets are unsorted arrays.  <a href="classcsHash.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer.html">csHashComputer&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for hash value computing.  <a href="classcsHashComputer.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01const_01char_01_5_01_4.html">csHashComputer&lt; const char * &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">csHashComputer&lt;&gt; specialization for strings that uses <a class="el" href="group__util__containers.html#gb805c6e597fbb1d73233fecf4c050a6e" title="Compute a hash key for a null-terminated string.">csHashCompute()</a>.  <a href="classcsHashComputer_3_01const_01char_01_5_01_4.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01double_01_4.html">csHashComputer&lt; double &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01float_01_4.html">csHashComputer&lt; float &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01int_01_4.html">csHashComputer&lt; int &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01long_01_4.html">csHashComputer&lt; long &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01longlong_01_4.html">csHashComputer&lt; longlong &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01ulonglong_01_4.html">csHashComputer&lt; ulonglong &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01unsigned_01int_01_4.html">csHashComputer&lt; unsigned int &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01unsigned_01long_01_4.html">csHashComputer&lt; unsigned long &gt;</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01void_01_5_01_4.html">csHashComputer&lt; void * &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">csHashComputer&lt;&gt; specialization for an integral type.  <a href="classcsHashComputer_3_01void_01_5_01_4.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputer_3_01void_01_5_01_4.html">csHashComputer&lt; void * &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">csHashComputer&lt;&gt; specialization for an integral type.  <a href="classcsHashComputer_3_01void_01_5_01_4.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputerIntegral.html">csHashComputerIntegral&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template for hash value computing, suitable for integral types and types that can be casted to such.  <a href="classcsHashComputerIntegral.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputerString.html">csHashComputerString&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template that can be used as a base class for hash computers for string types (must support cast to const char*).  <a href="classcsHashComputerString.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashComputerStruct.html">csHashComputerStruct&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Template that can be used as a base class for hash computers for POD structs.  <a href="classcsHashComputerStruct.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsHashReversible.html">csHashReversible&lt; T, K &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A csHash&lt;&gt; that maintains a reverse hash for indexing keys by values.  <a href="classcsHashReversible.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsMemoryPool.html">csMemoryPool</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A quick-allocation pool for storage of arbitrary data.  <a href="classcsMemoryPool.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPtrKey.html">csPtrKey&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A helper template to use pointers as keys for hashes.  <a href="classcsPtrKey.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRedBlackTree.html">csRedBlackTree&lt; K &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A red-black-tree.  <a href="classcsRedBlackTree.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRedBlackTreeMap.html">csRedBlackTreeMap&lt; K, T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key-value-map, backed by <a class="el" href="classcsRedBlackTree.html" title="A red-black-tree.">csRedBlackTree</a>.  <a href="classcsRedBlackTreeMap.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRedBlackTreePayload.html">csRedBlackTreePayload&lt; K, T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper template to allow storage of a payload together with a key in a <a class="el" href="classcsRedBlackTree.html" title="A red-black-tree.">csRedBlackTree</a>.  <a href="classcsRedBlackTreePayload.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsRefArrayObject.html">csRefArrayObject&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class implements a typed array that correctly keeps track of reference count and also is able to find by name.  <a href="classcsRefArrayObject.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsSafeCopyArray.html">csSafeCopyArray&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience class to make a version of csArray&lt;&gt; that does a safe-copy in case of reallocation of the array.  <a href="classcsSafeCopyArray.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsSet.html">csSet&lt; T, Allocator &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class implements a basic set for objects.  <a href="classcsSet.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsTuple2.html">csTuple2&lt; First, Second &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A two length tuple (fixed size collection of elements) Tuples are typically used for quickly bounding grouped values around with a low overhead.  <a href="classcsTuple2.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiArrayChangeAll.html">iArrayChangeAll&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array interface template, completely changeable.  <a href="structiArrayChangeAll.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiArrayChangeElements.html">iArrayChangeElements&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array interface template, elements are changeable.  <a href="structiArrayChangeElements.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structiArrayReadOnly.html">iArrayReadOnly&lt; T &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Array interface template, read-only.  <a href="structiArrayReadOnly.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classscfArray.html">scfArray&lt; IF, Backend &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation for iArrayReadOnly&lt;&gt;-, iArrayChangeElements&lt;&gt;- and iArrayChangeAll&lt;&gt;-derived interfaces, backed by a per-instance array.  <a href="classscfArray.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classscfArrayWrap.html">scfArrayWrap&lt; IF, Backend &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation for iArrayReadOnly&lt;&gt;-, iArrayChangeElements&lt;&gt;- and iArrayChangeAll&lt;&gt;-derived interfaces, backed by a reference to another array.  <a href="classscfArrayWrap.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classscfArrayWrapConst.html">scfArrayWrapConst&lt; IF, Backend &gt;</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implementation for iArrayReadOnly&lt;&gt;-derived interfaces, backed by a reference to another array.  <a href="classscfArrayWrapConst.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#g4ea191f7c63ce4d230d82d181b801f61">SCF_IARRAYCHANGEALL_INTERFACE</a>(Name)&nbsp;&nbsp;&nbsp;SCF_INTERFACE(Name, 0, 1, 0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro to define interface version of an iArrayChangeAll-derived interface.  <a href="#g4ea191f7c63ce4d230d82d181b801f61"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#gf7ee52958a7049fdb03aa09515593a06">SCF_IARRAYCHANGEELEMENTS_INTERFACE</a>(Name)&nbsp;&nbsp;&nbsp;SCF_INTERFACE(Name, 0, 0, 1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro to define interface version of an iArrayChangeElements-derived interface.  <a href="#gf7ee52958a7049fdb03aa09515593a06"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#ga2a21a3662510de90ca7dad0bf002734">SCF_IARRAYREADONLY_INTERFACE</a>(Name)&nbsp;&nbsp;&nbsp;SCF_INTERFACE(Name, 0, 0, 1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macro to define interface version of an iArrayReadOnly-derived interface.  <a href="#ga2a21a3662510de90ca7dad0bf002734"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#g440290362fd5eacc043fbf55698cfa81">csHashCompute</a> (char const *, size_t length)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute a hash key for a string of a given length.  <a href="#g440290362fd5eacc043fbf55698cfa81"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#gb805c6e597fbb1d73233fecf4c050a6e">csHashCompute</a> (char const *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute a hash key for a null-terminated string.  <a href="#gb805c6e597fbb1d73233fecf4c050a6e"></a><br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename First, typename Second&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsTuple2.html">csTuple2</a>&lt; First, Second &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__util__containers.html#g955eeb27e768c98d6dde38367d018ce3">MakeTuple</a> (First first, Second second)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience function to create a <a class="el" href="classcsTuple2.html" title="A two length tuple (fixed size collection of elements) Tuples are typically used...">csTuple2</a> from 2 types.  <a href="#g955eeb27e768c98d6dde38367d018ce3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gc3fc6b4bf9435dc4c11fdedfa57dc7a8"></a><!-- doxytag: member="util_containers::operator delete" ref="gc3fc6b4bf9435dc4c11fdedfa57dc7a8" args="(void *, csMemoryPool *)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#gc3fc6b4bf9435dc4c11fdedfa57dc7a8">operator delete</a> (void *, <a class="el" href="classcsMemoryPool.html">csMemoryPool</a> *)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf2e4d137c0e7a5801e32f584af502ad1"></a><!-- doxytag: member="util_containers::operator delete" ref="gf2e4d137c0e7a5801e32f584af502ad1" args="(void *, csMemoryPool &amp;)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#gf2e4d137c0e7a5801e32f584af502ad1">operator delete</a> (void *, <a class="el" href="classcsMemoryPool.html">csMemoryPool</a> &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gf396c9305522b353fd6712180d2ae30d"></a><!-- doxytag: member="util_containers::operator new" ref="gf396c9305522b353fd6712180d2ae30d" args="(size_t n, csMemoryPool *p)" -->
void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#gf396c9305522b353fd6712180d2ae30d">operator new</a> (size_t n, <a class="el" href="classcsMemoryPool.html">csMemoryPool</a> *p)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#gbc7922c9bd871e9c87c6ece97aaca88d">operator new</a> (size_t n, <a class="el" href="classcsMemoryPool.html">csMemoryPool</a> &amp;p)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience <code>new</code> operator which makes the allocation from a <a class="el" href="classcsMemoryPool.html" title="A quick-allocation pool for storage of arbitrary data.">csMemoryPool</a> rather than from the system heap.  <a href="#gbc7922c9bd871e9c87c6ece97aaca88d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g66a9edf87e5dc48cc0bda5c87ac28c9e"></a><!-- doxytag: member="util_containers::scfArray" ref="g66a9edf87e5dc48cc0bda5c87ac28c9e" args="(iBase *scfParent)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#g66a9edf87e5dc48cc0bda5c87ac28c9e">scfArray::scfArray</a> (<a class="el" href="structiBase.html">iBase</a> *scfParent)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#g590fba9b1b63e741b036779f80f41de9">scfArray::scfArray</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct with empty storage.  <a href="#g590fba9b1b63e741b036779f80f41de9"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__util__containers.html#g7477ed9887527029069ab5d5c79e2f70">csArrayItemNotFound</a> = (size_t)-1</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This value is returned whenever an array item could not be located or does not exist.  <a href="#g7477ed9887527029069ab5d5c79e2f70"></a><br></td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="g4ea191f7c63ce4d230d82d181b801f61"></a><!-- doxytag: member="array.h::SCF_IARRAYCHANGEALL_INTERFACE" ref="g4ea191f7c63ce4d230d82d181b801f61" args="(Name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SCF_IARRAYCHANGEALL_INTERFACE          </td>
          <td>(</td>
          <td class="paramtype">Name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;SCF_INTERFACE(Name, 0, 1, 0)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Macro to define interface version of an iArrayChangeAll-derived interface. 
<p>
Use this instead of <a class="el" href="group__scf.html#g711056cbf220f268640935926c404ba5" title="SCF_INTERFACE can be used to define an interface&#39;s version number; you should...">SCF_INTERFACE</a> to automatically get version number bumps for your array interface in case the base <a class="el" href="structiArrayChangeAll.html" title="Array interface template, completely changeable.">iArrayChangeAll</a> gets extended. 
<p>Definition at line <a class="el" href="iutil_2array_8h-source.html#l00247">247</a> of file <a class="el" href="iutil_2array_8h-source.html">array.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gf7ee52958a7049fdb03aa09515593a06"></a><!-- doxytag: member="array.h::SCF_IARRAYCHANGEELEMENTS_INTERFACE" ref="gf7ee52958a7049fdb03aa09515593a06" args="(Name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SCF_IARRAYCHANGEELEMENTS_INTERFACE          </td>
          <td>(</td>
          <td class="paramtype">Name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;SCF_INTERFACE(Name, 0, 0, 1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Macro to define interface version of an iArrayChangeElements-derived interface. 
<p>
Use this instead of <a class="el" href="group__scf.html#g711056cbf220f268640935926c404ba5" title="SCF_INTERFACE can be used to define an interface&#39;s version number; you should...">SCF_INTERFACE</a> to automatically get version number bumps for your array interface in case the base <a class="el" href="structiArrayChangeElements.html" title="Array interface template, elements are changeable.">iArrayChangeElements</a> gets extended. 
<p>Definition at line <a class="el" href="iutil_2array_8h-source.html#l00130">130</a> of file <a class="el" href="iutil_2array_8h-source.html">array.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ga2a21a3662510de90ca7dad0bf002734"></a><!-- doxytag: member="array.h::SCF_IARRAYREADONLY_INTERFACE" ref="ga2a21a3662510de90ca7dad0bf002734" args="(Name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SCF_IARRAYREADONLY_INTERFACE          </td>
          <td>(</td>
          <td class="paramtype">Name&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%">&nbsp;&nbsp;&nbsp;SCF_INTERFACE(Name, 0, 0, 1)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Macro to define interface version of an iArrayReadOnly-derived interface. 
<p>
Use this instead of <a class="el" href="group__scf.html#g711056cbf220f268640935926c404ba5" title="SCF_INTERFACE can be used to define an interface&#39;s version number; you should...">SCF_INTERFACE</a> to automatically get version number bumps for your array interface in case the base <a class="el" href="structiArrayReadOnly.html" title="Array interface template, read-only.">iArrayReadOnly</a> gets extended. 
<p>Definition at line <a class="el" href="iutil_2array_8h-source.html#l00093">93</a> of file <a class="el" href="iutil_2array_8h-source.html">array.h</a>.</p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g440290362fd5eacc043fbf55698cfa81"></a><!-- doxytag: member="hash.h::csHashCompute" ref="g440290362fd5eacc043fbf55698cfa81" args="(char const *, size_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int csHashCompute           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>length</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute a hash key for a string of a given length. 
<p>
Note that these keys are non-unique; some dissimilar strings may generate the same key. For unique keys, see <a class="el" href="classcsStringSet.html" title="The string set is a collection of unique strings.">csStringSet</a>. 
</div>
</div><p>
<a class="anchor" name="gb805c6e597fbb1d73233fecf4c050a6e"></a><!-- doxytag: member="hash.h::csHashCompute" ref="gb805c6e597fbb1d73233fecf4c050a6e" args="(char const *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int csHashCompute           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute a hash key for a null-terminated string. 
<p>
Note that these keys are non-unique; some dissimilar strings may generate the same key. For unique keys, see <a class="el" href="classcsStringSet.html" title="The string set is a collection of unique strings.">csStringSet</a>. 
<p>Referenced by <a class="el" href="hash_8h-source.html#l00227">csHashComputerStruct&lt; T &gt;::ComputeHash()</a>, and <a class="el" href="hash_8h-source.html#l00202">csHashComputerString&lt; const char * &gt;::ComputeHash()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g955eeb27e768c98d6dde38367d018ce3"></a><!-- doxytag: member="tuple.h::MakeTuple" ref="g955eeb27e768c98d6dde38367d018ce3" args="(First first, Second second)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename First, typename Second&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsTuple2.html">csTuple2</a>&lt;First, Second&gt; MakeTuple           </td>
          <td>(</td>
          <td class="paramtype">First&nbsp;</td>
          <td class="paramname"> <em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Second&nbsp;</td>
          <td class="paramname"> <em>second</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convenience function to create a <a class="el" href="classcsTuple2.html" title="A two length tuple (fixed size collection of elements) Tuples are typically used...">csTuple2</a> from 2 types. 
<p>

<p>Definition at line <a class="el" href="tuple_8h-source.html#l00063">63</a> of file <a class="el" href="tuple_8h-source.html">tuple.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="gbc7922c9bd871e9c87c6ece97aaca88d"></a><!-- doxytag: member="mempool.h::operator new" ref="gbc7922c9bd871e9c87c6ece97aaca88d" args="(size_t n, csMemoryPool &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* operator new           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classcsMemoryPool.html">csMemoryPool</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convenience <code>new</code> operator which makes the allocation from a <a class="el" href="classcsMemoryPool.html" title="A quick-allocation pool for storage of arbitrary data.">csMemoryPool</a> rather than from the system heap. 
<p>
For instance, if <code>pool</code> is a pointer or reference to a <a class="el" href="classcsMemoryPool.html" title="A quick-allocation pool for storage of arbitrary data.">csMemoryPool</a>, and you want to allocate an object of type FooBar from the <a class="el" href="classcsMemoryPool.html" title="A quick-allocation pool for storage of arbitrary data.">csMemoryPool</a>, then you can do this: <div class="fragment"><pre class="fragment"> FooBar* foobar = <span class="keyword">new</span> (pool) FooBar;
</pre></div> It is your responsibility to invoke the destructor of the objects you allocate from the <a class="el" href="classcsMemoryPool.html" title="A quick-allocation pool for storage of arbitrary data.">csMemoryPool</a> before the <a class="el" href="classcsMemoryPool.html" title="A quick-allocation pool for storage of arbitrary data.">csMemoryPool</a> itself is destroyed (since it knows nothing about the objects which you placed into it). For instance, continuing the above example, before destroying <code>pool</code>, you should invoke <code>foobar's</code> destructor as follows: <div class="fragment"><pre class="fragment"> foobar-&gt;~FooBar();
 <span class="comment">// ... it is now safe to destroy `pool' ...</span>
</pre></div> 
<p>Definition at line <a class="el" href="mempool_8h-source.html#l00132">132</a> of file <a class="el" href="mempool_8h-source.html">mempool.h</a>.</p>

<p>References <a class="el" href="classcsMemoryPool.html#d8fbdf893c4bff02c794d21948061911">csMemoryPool::Alloc()</a>.</p>

</div>
</div><p>
<a class="anchor" name="g590fba9b1b63e741b036779f80f41de9"></a><!-- doxytag: member="scfArray::scfArray" ref="g590fba9b1b63e741b036779f80f41de9" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename IF, typename Backend = csArray&lt;typename IF::ContainedType&gt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classscfArray.html">scfArray</a>&lt; IF, Backend &gt;::<a class="el" href="classscfArray.html">scfArray</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct with empty storage. 
<p>

<p>Definition at line <a class="el" href="scfarray_8h-source.html#l00067">67</a> of file <a class="el" href="scfarray_8h-source.html">scfarray.h</a>.</p>

</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="g7477ed9887527029069ab5d5c79e2f70"></a><!-- doxytag: member="array.h::csArrayItemNotFound" ref="g7477ed9887527029069ab5d5c79e2f70" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const size_t <a class="el" href="group__util__containers.html#g7477ed9887527029069ab5d5c79e2f70">csArrayItemNotFound</a> = (size_t)-1          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This value is returned whenever an array item could not be located or does not exist. 
<p>

<p>Definition at line <a class="el" href="csutil_2array_8h-source.html#l00337">337</a> of file <a class="el" href="csutil_2array_8h-source.html">array.h</a>.</p>

<p>Referenced by <a class="el" href="partialorder_8h-source.html#l00131">csPartialOrder&lt; csStringID &gt;::Add()</a>, <a class="el" href="partialorder_8h-source.html#l00224">csPartialOrder&lt; csStringID &gt;::AddOrder()</a>, <a class="el" href="partialorder_8h-source.html#l00346">csPartialOrder&lt; csStringID &gt;::ClearMark()</a>, <a class="el" href="partialorder_8h-source.html#l00142">csPartialOrder&lt; csStringID &gt;::Contains()</a>, <a class="el" href="partialorder_8h-source.html#l00460">csPartialOrder&lt; csStringID &gt;::CycleTest()</a>, <a class="el" href="partialorder_8h-source.html#l00165">csPartialOrder&lt; csStringID &gt;::Delete()</a>, <a class="el" href="csutil_2array_8h-source.html#l01065">csArray&lt; iEventHandler *, csRefArrayElementHandler&lt; iEventHandler * &gt;, CS::Memory::AllocatorMalloc &gt;::Delete()</a>, <a class="el" href="partialorder_8h-source.html#l00251">csPartialOrder&lt; csStringID &gt;::DeleteOrder()</a>, <a class="el" href="csutil_2array_8h-source.html#l01040">csArray&lt; iEventHandler *, csRefArrayElementHandler&lt; iEventHandler * &gt;, CS::Memory::AllocatorMalloc &gt;::DeleteRange()</a>, <a class="el" href="csutil_2array_8h-source.html#l00849">csArray&lt; iEventHandler *, csRefArrayElementHandler&lt; iEventHandler * &gt;, CS::Memory::AllocatorMalloc &gt;::Find()</a>, <a class="el" href="nobjvec_8h-source.html#l00072">csRefArrayObject&lt; T &gt;::FindByName()</a>, <a class="el" href="csutil_2array_8h-source.html#l00679">csArray&lt; iEventHandler *, csRefArrayElementHandler&lt; iEventHandler * &gt;, CS::Memory::AllocatorMalloc &gt;::FindKey()</a>, <a class="el" href="csutil_2array_8h-source.html#l00781">csArray&lt; iEventHandler *, csRefArrayElementHandler&lt; iEventHandler * &gt;, CS::Memory::AllocatorMalloc &gt;::FindSortedKey()</a>, <a class="el" href="fixedsizeallocator_8h-source.html#l00251">csFixedSizeAllocator&lt; sizeof(T), Allocator &gt;::Free()</a>, <a class="el" href="fixedsizeallocator_8h-source.html#l00169">csFixedSizeAllocator&lt; sizeof(T), Allocator &gt;::GetAllocationMap()</a>, <a class="el" href="nobjvec_8h-source.html#l00059">csRefArrayObject&lt; T &gt;::GetIndexByName()</a>, <a class="el" href="csutil_2array_8h-source.html#l00815">csArray&lt; iEventHandler *, csRefArrayElementHandler&lt; iEventHandler * &gt;, CS::Memory::AllocatorMalloc &gt;::InsertSorted()</a>, <a class="el" href="partialorder_8h-source.html#l00369">csPartialOrder&lt; csStringID &gt;::IsEnabled()</a>, <a class="el" href="partialorder_8h-source.html#l00335">csPartialOrder&lt; csStringID &gt;::IsMarked()</a>, <a class="el" href="partialorder_8h-source.html#l00324">csPartialOrder&lt; csStringID &gt;::Mark()</a>, <a class="el" href="csutil_2array_8h-source.html#l00718">csArray&lt; iEventHandler *, csRefArrayElementHandler&lt; iEventHandler * &gt;, CS::Memory::AllocatorMalloc &gt;::PushSmart()</a>, <a class="el" href="tree_8h-source.html#l00040">csTreeNode::RemoveChild()</a>, <a class="el" href="weakreferenced_8h-source.html#l00064">CS::Utility::WeakReferenced::RemoveRefOwner()</a>, <a class="el" href="scf__implementation_8h-source.html#l00213">scfImplementation&lt; csBaseTextureFactory &gt;::RemoveRefOwner()</a>, <a class="el" href="partialorder_8h-source.html#l00403">csPartialOrder&lt; csStringID &gt;::SanityCheck()</a>, and <a class="el" href="fixedsizeallocator_8h-source.html#l00269">csFixedSizeAllocator&lt; sizeof(T), Allocator &gt;::TryFree()</a>.</p>

</div>
</div><p>
<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>