You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

132 lines
12 KiB

<!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>tbb::interface6::memory_pool_allocator&lt; T, P &gt; Class Template Reference</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="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 id="current"><a href="annotated.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="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>
<div class="nav">
<a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00308.html">memory_pool_allocator</a></div>
<h1>tbb::interface6::memory_pool_allocator&lt; T, P &gt; Class Template Reference<br>
<small>
[<a class="el" href="a00443.html">Memory Allocation</a>]</small>
</h1><!-- doxytag: class="tbb::interface6::memory_pool_allocator" -->Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.
<a href="#_details">More...</a>
<p>
<code>#include &lt;memory_pool.h&gt;</code>
<p>
<a href="a00084.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"><a class="anchor" name="364d1a4b2174091802a0c1a7177fd037"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::value_type" ref="364d1a4b2174091802a0c1a7177fd037" args="" -->
typedef tbb::internal::allocator_type&lt;<br>
T &gt;::value_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="841174744c7bebbe9a8ec4cd35b7e8c8"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::pointer" ref="841174744c7bebbe9a8ec4cd35b7e8c8" args="" -->
typedef value_type *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8867631698ca08b5b8c849693f45cef4"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::const_pointer" ref="8867631698ca08b5b8c849693f45cef4" args="" -->
typedef const value_type *&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4419d14b95793fea5e80c1a7ad85b4b3"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::reference" ref="4419d14b95793fea5e80c1a7ad85b4b3" args="" -->
typedef value_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57a51cd687993c94d486a0ff0b7a783f"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::const_reference" ref="57a51cd687993c94d486a0ff0b7a783f" args="" -->
typedef const value_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd9f0aaee1039cc64fa4342ee93fd43e"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::size_type" ref="fd9f0aaee1039cc64fa4342ee93fd43e" args="" -->
typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4340f60415582d0eca834b47b22f5d62"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::difference_type" ref="4340f60415582d0eca834b47b22f5d62" args="" -->
typedef ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d06264c6dc8ed178d8c14998f0511b27"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::memory_pool_allocator" ref="d06264c6dc8ed178d8c14998f0511b27" args="(pool_type &amp;pool)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (pool_type &amp;pool) throw ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="655f7aef5ba5dbe79f76b493270794af"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::memory_pool_allocator" ref="655f7aef5ba5dbe79f76b493270794af" args="(const memory_pool_allocator &amp;src)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a> &amp;src) throw ()</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0d1d98389a82d65a4229db8e28363420"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::memory_pool_allocator" ref="0d1d98389a82d65a4229db8e28363420" args="(const memory_pool_allocator&lt; U, P &gt; &amp;src)" -->
template&lt;typename U&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>memory_pool_allocator</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>&lt; U, P &gt; &amp;src) throw ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="727129bc029510733b3e95ea10f6bee3"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::address" ref="727129bc029510733b3e95ea10f6bee3" args="(reference x) const " -->
pointer&nbsp;</td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e250b83998b01dbea88c43085e15139a"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::address" ref="e250b83998b01dbea88c43085e15139a" args="(const_reference x) const " -->
const_pointer&nbsp;</td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="365bd64d284c80d85bb2149a12681526"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::allocate" ref="365bd64d284c80d85bb2149a12681526" args="(size_type n, const void *=0)" -->
pointer&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html#365bd64d284c80d85bb2149a12681526">allocate</a> (size_type n, const void *=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate space for n objects. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4e24a03de38638af07548383024c54ab"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::deallocate" ref="4e24a03de38638af07548383024c54ab" args="(pointer p, size_type)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html#4e24a03de38638af07548383024c54ab">deallocate</a> (pointer p, size_type)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free previously allocated block of memory. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="beebdb6144df8ba219fadfad4de866ea"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::max_size" ref="beebdb6144df8ba219fadfad4de866ea" args="() const " -->
size_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html#beebdb6144df8ba219fadfad4de866ea">max_size</a> () const throw ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Largest value for which method allocate might succeed. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c6d3fa3032bf5d4be841729d7893e26d"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::construct" ref="c6d3fa3032bf5d4be841729d7893e26d" args="(U *p, Args &amp;&amp;...args)" -->
template&lt;typename U, typename... Args&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00308.html#c6d3fa3032bf5d4be841729d7893e26d">construct</a> (U *p, Args &amp;&amp;...args)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy-construct value at location pointed to by p. <br></td></tr>
<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9b545d2d31ef4b711ca87ba7aa18976"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::pool_type" ref="b9b545d2d31ef4b711ca87ba7aa18976" args="" -->
typedef P&nbsp;</td><td class="memItemRight" valign="bottom"><b>pool_type</b></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f22e947018eb99cde5f44ee3d339499"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::my_pool" ref="9f22e947018eb99cde5f44ee3d339499" args="" -->
pool_type *&nbsp;</td><td class="memItemRight" valign="bottom"><b>my_pool</b></td></tr>
<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="193c7eeb6ed852d587b652828f52ca92"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::memory_pool_allocator" ref="193c7eeb6ed852d587b652828f52ca92" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f4fe0fa75b911081eff469ddb3e7e52a"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::operator==" ref="f4fe0fa75b911081eff469ddb3e7e52a" args="(const memory_pool_allocator&lt; V, R &gt; &amp;a, const memory_pool_allocator&lt; U, R &gt; &amp;b)" -->
template&lt;typename V, typename U, typename R&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>&lt; V, R &gt; &amp;a, const <a class="el" href="a00308.html">memory_pool_allocator</a>&lt; U, R &gt; &amp;b)</td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="4bb06a39de4a5290b4ec03be19d61c36"></a><!-- doxytag: member="tbb::interface6::memory_pool_allocator::operator!=" ref="4bb06a39de4a5290b4ec03be19d61c36" args="(const memory_pool_allocator&lt; V, R &gt; &amp;a, const memory_pool_allocator&lt; U, R &gt; &amp;b)" -->
template&lt;typename V, typename U, typename R&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00308.html">memory_pool_allocator</a>&lt; V, R &gt; &amp;a, const <a class="el" href="a00308.html">memory_pool_allocator</a>&lt; U, R &gt; &amp;b)</td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;typename T, typename P = internal::pool_base&gt;<br>
class tbb::interface6::memory_pool_allocator&lt; T, P &gt;</h3>
Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00386.html">memory_pool.h</a></ul>
<hr>
<p></p>
Copyright &copy; 2005-2013 Intel Corporation. All Rights Reserved.
<p></p>
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
<p></p>
* Other names and brands may be claimed as the property of others.