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

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
  3. <title>tbb::interface6::memory_pool_allocator&lt; T, P &gt; Class Template Reference</title>
  4. <link href="doxygen.css" rel="stylesheet" type="text/css">
  5. <link href="tabs.css" rel="stylesheet" type="text/css">
  6. </head><body>
  7. <!-- Generated by Doxygen 1.4.7 -->
  8. <div class="tabs">
  9. <ul>
  10. <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
  11. <li><a href="modules.html"><span>Modules</span></a></li>
  12. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  13. <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
  14. <li><a href="files.html"><span>Files</span></a></li>
  15. <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  16. </ul></div>
  17. <div class="tabs">
  18. <ul>
  19. <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
  20. <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
  21. <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  22. </ul></div>
  23. <div class="nav">
  24. <a class="el" href="a00428.html">tbb</a>::<b>interface6</b>::<a class="el" href="a00308.html">memory_pool_allocator</a></div>
  25. <h1>tbb::interface6::memory_pool_allocator&lt; T, P &gt; Class Template Reference<br>
  26. <small>
  27. [<a class="el" href="a00443.html">Memory Allocation</a>]</small>
  28. </h1><!-- doxytag: class="tbb::interface6::memory_pool_allocator" -->Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.
  29. <a href="#_details">More...</a>
  30. <p>
  31. <code>#include &lt;memory_pool.h&gt;</code>
  32. <p>
  33. <a href="a00084.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
  34. <tr><td></td></tr>
  35. <tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
  36. <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="" -->
  37. typedef tbb::internal::allocator_type&lt;<br>
  38. T &gt;::value_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
  39. <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="" -->
  40. typedef value_type *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
  41. <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="" -->
  42. typedef const value_type *&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
  43. <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="" -->
  44. typedef value_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
  45. <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="" -->
  46. typedef const value_type &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
  47. <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="" -->
  48. typedef size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
  49. <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="" -->
  50. typedef ptrdiff_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
  51. <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
  52. <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)" -->
  53. &nbsp;</td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b> (pool_type &amp;pool) throw ()</td></tr>
  54. <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)" -->
  55. &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>
  56. <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)" -->
  57. template&lt;typename U&gt; </td></tr>
  58. <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>
  59. <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 " -->
  60. pointer&nbsp;</td><td class="memItemRight" valign="bottom"><b>address</b> (reference x) const </td></tr>
  61. <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 " -->
  62. const_pointer&nbsp;</td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference x) const </td></tr>
  63. <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)" -->
  64. 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>
  65. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate space for n objects. <br></td></tr>
  66. <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)" -->
  67. void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html#4e24a03de38638af07548383024c54ab">deallocate</a> (pointer p, size_type)</td></tr>
  68. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free previously allocated block of memory. <br></td></tr>
  69. <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 " -->
  70. size_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00308.html#beebdb6144df8ba219fadfad4de866ea">max_size</a> () const throw ()</td></tr>
  71. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Largest value for which method allocate might succeed. <br></td></tr>
  72. <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)" -->
  73. template&lt;typename U, typename... Args&gt; </td></tr>
  74. <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>
  75. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy-construct value at location pointed to by p. <br></td></tr>
  76. <tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
  77. <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="" -->
  78. typedef P&nbsp;</td><td class="memItemRight" valign="bottom"><b>pool_type</b></td></tr>
  79. <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
  80. <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="" -->
  81. pool_type *&nbsp;</td><td class="memItemRight" valign="bottom"><b>my_pool</b></td></tr>
  82. <tr><td colspan="2"><br><h2>Friends</h2></td></tr>
  83. <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="" -->
  84. class&nbsp;</td><td class="memItemRight" valign="bottom"><b>memory_pool_allocator</b></td></tr>
  85. <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)" -->
  86. template&lt;typename V, typename U, typename R&gt; </td></tr>
  87. <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>
  88. <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)" -->
  89. template&lt;typename V, typename U, typename R&gt; </td></tr>
  90. <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>
  91. <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
  92. <tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><b>rebind</b></td></tr>
  93. </table>
  94. <hr><a name="_details"></a><h2>Detailed Description</h2>
  95. <h3>template&lt;typename T, typename P = internal::pool_base&gt;<br>
  96. class tbb::interface6::memory_pool_allocator&lt; T, P &gt;</h3>
  97. Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.
  98. <p>
  99. <hr>The documentation for this class was generated from the following file:<ul>
  100. <li><a class="el" href="a00386.html">memory_pool.h</a></ul>
  101. <hr>
  102. <p></p>
  103. Copyright &copy; 2005-2013 Intel Corporation. All Rights Reserved.
  104. <p></p>
  105. Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
  106. registered trademarks or trademarks of Intel Corporation or its
  107. subsidiaries in the United States and other countries.
  108. <p></p>
  109. * Other names and brands may be claimed as the property of others.