Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > bfea28f33e7373c31a33dc7387b2a0be > files > 33

loki-lib-doc-0.1.7-2.fc12.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Loki: Loki::Chunk Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.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="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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>
  <div class="navpath"><a class="el" href="a00192.html">Loki</a>::<a class="el" href="a00025.html">Chunk</a>
  </div>
</div>
<div class="contents">
<h1>Loki::Chunk Struct Reference<br>
<small>
[<a class="el" href="a00217.html">Internals</a>]</small>
</h1><!-- doxytag: class="Loki::Chunk" -->
<p>
<a href="a00448.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Contains info about each allocated <a class="el" href="a00025.html">Chunk</a> - which is a collection of contiguous blocks. Each block is the same size, as specified by the <a class="el" href="a00056.html">FixedAllocator</a>. The number of blocks in a <a class="el" href="a00025.html">Chunk</a> depends upon page size. This is a POD-style struct with value-semantics. All functions and data are private so that they can not be changed by anything other than the <a class="el" href="a00056.html">FixedAllocator</a> which owns the <a class="el" href="a00025.html">Chunk</a>.<p>
<dl class="user" compact><dt><b>Minimal Interface</b></dt><dd>For the sake of runtime efficiency, no constructor, destructor, or copy-assignment operator is defined. The inline functions made by the compiler should be sufficient, and perhaps faster than hand-crafted functions. The lack of these functions allows vector to create and copy Chunks as needed without overhead. The Init and Release functions do what the default constructor and destructor would do. A <a class="el" href="a00025.html">Chunk</a> is not in a usable state after it is constructed and before calling Init. Nor is a <a class="el" href="a00025.html">Chunk</a> usable after Release is called, but before the destructor.</dd></dl>
<dl class="user" compact><dt><b>Efficiency</b></dt><dd>Down near the lowest level of the allocator, runtime efficiencies trump almost all other considerations. Each function does the minimum required of it. All functions should execute in constant time to prevent higher- level code from unwittingly using a version of Shlemiel the Painter's Algorithm.</dd></dl>
<dl class="user" compact><dt><b>Stealth Indexes</b></dt><dd>The first char of each empty block contains the index of the next empty block. These stealth indexes form a singly-linked list within the blocks. A <a class="el" href="a00025.html">Chunk</a> is corrupt if this singly-linked list has a loop or is shorter than blocksAvailable_. Much of the allocator's time and space efficiency comes from how these stealth indexes are implemented. </dd></dl>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>SmallObj.cpp</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 29 18:51:45 2009 for Loki by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>