1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Loki: Internals</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main 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>
<form action="search.php" method="get">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><label> <u>S</u>earch for </label></td>
<td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
</tr>
</table>
</form>
</li>
</ul></div>
<h1>Internals<br>
<small>
[<a class="el" href="a00779.html">Small objects</a>]</small>
</h1>
<p>
Collaboration diagram for Internals:<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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00714.html">Loki::SmallObjAllocator</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00635.html">Loki::AllocatorSingleton< ThreadingModel, chunkSize, maxSmallObjectSize, objectAlignSize, LifetimePolicy, MutexPolicy ></a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00645.html">Loki::Chunk</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00674.html">Loki::FixedAllocator</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00780.html#g2f0821e243f812a3ae2abfaea51895e8">Loki::GetOffset</a> (std::size_t numBytes, std::size_t alignment)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00780.html#g2444c5bff0a61b6751fb5f57e0c7e8c7">Loki::DefaultAllocator</a> (std::size_t numBytes, bool doThrow)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00780.html#g1d24bf776342ace8f2004e3a173f6cb3">Loki::DefaultDeallocator</a> (void *p)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g2444c5bff0a61b6751fb5f57e0c7e8c7"></a><!-- doxytag: member="Loki::DefaultAllocator" ref="g2444c5bff0a61b6751fb5f57e0c7e8c7" args="(std::size_t numBytes, bool doThrow)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* Loki::DefaultAllocator </td>
<td>(</td>
<td class="paramtype">std::size_t </td>
<td class="paramname"> <em>numBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"> <em>doThrow</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Calls the default allocator when <a class="el" href="a00714.html">SmallObjAllocator</a> decides not to handle a request. <a class="el" href="a00714.html">SmallObjAllocator</a> calls this if the number of bytes is bigger than the size which can be handled by any <a class="el" href="a00674.html">FixedAllocator</a>. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>numBytes</em> </td><td>number of bytes </td></tr>
<tr><td valign="top"></td><td valign="top"><em>doThrow</em> </td><td>True if this function should throw an exception, or false if it should indicate failure by returning a NULL pointer. </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="g1d24bf776342ace8f2004e3a173f6cb3"></a><!-- doxytag: member="Loki::DefaultDeallocator" ref="g1d24bf776342ace8f2004e3a173f6cb3" args="(void *p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Loki::DefaultDeallocator </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"> <em>p</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Calls default deallocator when <a class="el" href="a00714.html">SmallObjAllocator</a> decides not to handle a request. The default deallocator could be the global delete operator or the free function. The free function is the preferred default deallocator since it matches malloc which is the preferred default allocator. <a class="el" href="a00714.html">SmallObjAllocator</a> will call this if an address was not found among any of its own blocks.
</div>
</div><p>
<a class="anchor" name="g2f0821e243f812a3ae2abfaea51895e8"></a><!-- doxytag: member="Loki::GetOffset" ref="g2f0821e243f812a3ae2abfaea51895e8" args="(std::size_t numBytes, std::size_t alignment)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::size_t Loki::GetOffset </td>
<td>(</td>
<td class="paramtype">std::size_t </td>
<td class="paramname"> <em>numBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t </td>
<td class="paramname"> <em>alignment</em></td><td> </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>
Calculates index into array where a <a class="el" href="a00674.html">FixedAllocator</a> of numBytes is located.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 19 15:14:43 2006 for Loki by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>
|