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.

197 lines
21 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::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &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="a00293.html">enumerable_thread_specific</a></div>
  25. <h1>tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt; Class Template Reference<br>
  26. <small>
  27. [<a class="el" href="a00442.html">Containers</a>]</small>
  28. </h1><!-- doxytag: class="tbb::interface6::enumerable_thread_specific" -->The <a class="el" href="a00293.html">enumerable_thread_specific</a> container.
  29. <a href="#_details">More...</a>
  30. <p>
  31. <code>#include &lt;enumerable_thread_specific.h&gt;</code>
  32. <p>
  33. <a href="a00051.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="3c03eb40955b933b01987222722ac4bd"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::allocator_type" ref="3c03eb40955b933b01987222722ac4bd" args="" -->
  37. typedef Allocator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#3c03eb40955b933b01987222722ac4bd">allocator_type</a></td></tr>
  38. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Basic types. <br></td></tr>
  39. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e93f3b75e82eaa845cc1a0514eaba31a"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::value_type" ref="e93f3b75e82eaa845cc1a0514eaba31a" args="" -->
  40. typedef T&nbsp;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
  41. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0fd259a6b20641c768079f41d3213904"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::reference" ref="0fd259a6b20641c768079f41d3213904" args="" -->
  42. typedef T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
  43. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2c1d47e24439524fea72d9c10df25d54"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::const_reference" ref="2c1d47e24439524fea72d9c10df25d54" args="" -->
  44. typedef const T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
  45. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27cf20b87f4381a69203aed11e5a34dc"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::pointer" ref="27cf20b87f4381a69203aed11e5a34dc" args="" -->
  46. typedef T *&nbsp;</td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
  47. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e132e2a40dd6ce5472f8e13a1e80947"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::const_pointer" ref="0e132e2a40dd6ce5472f8e13a1e80947" args="" -->
  48. typedef const T *&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
  49. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c67c208bec3e8b77190d545bd1f150e3"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::size_type" ref="c67c208bec3e8b77190d545bd1f150e3" args="" -->
  50. typedef internal_collection_type::size_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
  51. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eda9be9a80bed094d4657948b5b7831f"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::difference_type" ref="eda9be9a80bed094d4657948b5b7831f" args="" -->
  52. typedef internal_collection_type::difference_type&nbsp;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
  53. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd6f8e0af3c5e5166a4223f88b03e0a5"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::iterator" ref="bd6f8e0af3c5e5166a4223f88b03e0a5" args="" -->
  54. typedef internal::enumerable_thread_specific_iterator&lt;<br>
  55. <a class="el" href="a00288.html">internal_collection_type</a>,<br>
  56. value_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
  57. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ff2ff1a117048f5d57aedebb12d57e1"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::const_iterator" ref="8ff2ff1a117048f5d57aedebb12d57e1" args="" -->
  58. typedef internal::enumerable_thread_specific_iterator&lt;<br>
  59. <a class="el" href="a00288.html">internal_collection_type</a>,<br>
  60. const value_type &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
  61. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4c23a666adbf88bd3280873de9d7f39"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::range_type" ref="d4c23a666adbf88bd3280873de9d7f39" args="" -->
  62. typedef generic_range_type&lt;<br>
  63. iterator &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
  64. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ce41c6603d8f547f11df05d1ccb2184"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::const_range_type" ref="0ce41c6603d8f547f11df05d1ccb2184" args="" -->
  65. typedef generic_range_type&lt;<br>
  66. const_iterator &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
  67. <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
  68. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0cfa3a5c8f2be3bbf313d93b1fa8cdb3"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="0cfa3a5c8f2be3bbf313d93b1fa8cdb3" args="()" -->
  69. &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#0cfa3a5c8f2be3bbf313d93b1fa8cdb3">enumerable_thread_specific</a> ()</td></tr>
  70. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. Each local instance of T is default constructed. <br></td></tr>
  71. <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="8d4b456ff9d7b289c73254eccc11db45"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="8d4b456ff9d7b289c73254eccc11db45" args="(Finit finit)" -->
  72. template&lt;typename Finit&gt; </td></tr>
  73. <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00293.html#8d4b456ff9d7b289c73254eccc11db45">enumerable_thread_specific</a> (Finit finit)</td></tr>
  74. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor with initializer functor. Each local instance of T is constructed by T(finit()). <br></td></tr>
  75. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7bce6829981c9efe3f59cae2355e383e"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="7bce6829981c9efe3f59cae2355e383e" args="(const T &amp;exemplar)" -->
  76. &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#7bce6829981c9efe3f59cae2355e383e">enumerable_thread_specific</a> (const T &amp;exemplar)</td></tr>
  77. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constuctor with exemplar. Each local instance of T is copied-constructed from the exemplar. <br></td></tr>
  78. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a7907d9e3e5b18e7a7b55211ef3213f"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::~enumerable_thread_specific" ref="5a7907d9e3e5b18e7a7b55211ef3213f" args="()" -->
  79. &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#5a7907d9e3e5b18e7a7b55211ef3213f">~enumerable_thread_specific</a> ()</td></tr>
  80. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br></td></tr>
  81. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c8d5265ccbd5e4485996b3f3baaa5ba1"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::local" ref="c8d5265ccbd5e4485996b3f3baaa5ba1" args="()" -->
  82. reference&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#c8d5265ccbd5e4485996b3f3baaa5ba1">local</a> ()</td></tr>
  83. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns reference to local, discarding exists <br></td></tr>
  84. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dc79058d2832f7447de8e691c3455ea"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::local" ref="7dc79058d2832f7447de8e691c3455ea" args="(bool &amp;exists)" -->
  85. reference&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#7dc79058d2832f7447de8e691c3455ea">local</a> (bool &amp;exists)</td></tr>
  86. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns reference to calling thread's local copy, creating one if necessary. <br></td></tr>
  87. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="33fd6593da1ed14340f10f67d5a69130"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::size" ref="33fd6593da1ed14340f10f67d5a69130" args="() const " -->
  88. size_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#33fd6593da1ed14340f10f67d5a69130">size</a> () const </td></tr>
  89. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of local copies. <br></td></tr>
  90. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72595886d0ac8fd0543f90038570510d"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::empty" ref="72595886d0ac8fd0543f90038570510d" args="() const " -->
  91. bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#72595886d0ac8fd0543f90038570510d">empty</a> () const </td></tr>
  92. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">true if there have been no local copies created <br></td></tr>
  93. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="01d7baf8e913ab2819e97917a2ac795f"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::begin" ref="01d7baf8e913ab2819e97917a2ac795f" args="()" -->
  94. iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#01d7baf8e913ab2819e97917a2ac795f">begin</a> ()</td></tr>
  95. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">begin iterator <br></td></tr>
  96. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2456ff88252fc921b01cd8907628a4ee"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::end" ref="2456ff88252fc921b01cd8907628a4ee" args="()" -->
  97. iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#2456ff88252fc921b01cd8907628a4ee">end</a> ()</td></tr>
  98. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">end iterator <br></td></tr>
  99. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84afb3906a39e399cde1c950d6351300"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::begin" ref="84afb3906a39e399cde1c950d6351300" args="() const " -->
  100. const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#84afb3906a39e399cde1c950d6351300">begin</a> () const </td></tr>
  101. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">begin const iterator <br></td></tr>
  102. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb448bb4977ce366ceb7344085cc7050"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::end" ref="cb448bb4977ce366ceb7344085cc7050" args="() const " -->
  103. const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#cb448bb4977ce366ceb7344085cc7050">end</a> () const </td></tr>
  104. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">end const iterator <br></td></tr>
  105. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b22c54990b2362cd93c1a8f73de140bc"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::range" ref="b22c54990b2362cd93c1a8f73de140bc" args="(size_t grainsize=1)" -->
  106. range_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#b22c54990b2362cd93c1a8f73de140bc">range</a> (size_t grainsize=1)</td></tr>
  107. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get range for parallel algorithms. <br></td></tr>
  108. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3b068000cf4dbf9b40f8bb7e3fc53e0b"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::range" ref="3b068000cf4dbf9b40f8bb7e3fc53e0b" args="(size_t grainsize=1) const " -->
  109. const_range_type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#3b068000cf4dbf9b40f8bb7e3fc53e0b">range</a> (size_t grainsize=1) const </td></tr>
  110. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get const range for parallel algorithms. <br></td></tr>
  111. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8764176d4b6014c5d65f1051851abc8"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::clear" ref="a8764176d4b6014c5d65f1051851abc8" args="()" -->
  112. void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00293.html#a8764176d4b6014c5d65f1051851abc8">clear</a> ()</td></tr>
  113. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys local copies. <br></td></tr>
  114. <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="43bbf3a313c5431559df2946f76221e0"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="43bbf3a313c5431559df2946f76221e0" args="(const enumerable_thread_specific&lt; U, Alloc, Cachetype &gt; &amp;other)" -->
  115. template&lt;typename U, typename Alloc, ets_key_usage_type Cachetype&gt; </td></tr>
  116. <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00293.html">enumerable_thread_specific</a>&lt; U, Alloc, Cachetype &gt; &amp;other)</td></tr>
  117. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25a9c336cfd5a171c29cbdd0feb84249"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="25a9c336cfd5a171c29cbdd0feb84249" args="(const enumerable_thread_specific &amp;other)" -->
  118. &nbsp;</td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00293.html">enumerable_thread_specific</a> &amp;other)</td></tr>
  119. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1f8f467eb4c44c58614d0f9dce687477"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::operator=" ref="1f8f467eb4c44c58614d0f9dce687477" args="(const enumerable_thread_specific &amp;other)" -->
  120. <a class="el" href="a00293.html">enumerable_thread_specific</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00293.html">enumerable_thread_specific</a> &amp;other)</td></tr>
  121. <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0e7ebbfd8e04eb22fe59b581206e7888"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::operator=" ref="0e7ebbfd8e04eb22fe59b581206e7888" args="(const enumerable_thread_specific&lt; U, Alloc, Cachetype &gt; &amp;other)" -->
  122. template&lt;typename U, typename Alloc, ets_key_usage_type Cachetype&gt; </td></tr>
  123. <tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="a00293.html">enumerable_thread_specific</a> &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00293.html">enumerable_thread_specific</a>&lt; U, Alloc, Cachetype &gt; &amp;other)</td></tr>
  124. <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1eac7eff6e21b7fc299b67acb36eb3c7"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::combine" ref="1eac7eff6e21b7fc299b67acb36eb3c7" args="(combine_func_t f_combine)" -->
  125. template&lt;typename combine_func_t&gt; </td></tr>
  126. <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>combine</b> (combine_func_t f_combine)</td></tr>
  127. <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f671d7bd4c1d3a750b4be4c32a489c55"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::combine_each" ref="f671d7bd4c1d3a750b4be4c32a489c55" args="(combine_func_t f_combine)" -->
  128. template&lt;typename combine_func_t&gt; </td></tr>
  129. <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><b>combine_each</b> (combine_func_t f_combine)</td></tr>
  130. <tr><td colspan="2"><br><h2>Friends</h2></td></tr>
  131. <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45364b2f249ceb935cff05c29fcfcf5c"></a><!-- doxytag: member="tbb::interface6::enumerable_thread_specific::enumerable_thread_specific" ref="45364b2f249ceb935cff05c29fcfcf5c" args="" -->
  132. class&nbsp;</td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b></td></tr>
  133. <tr><td colspan="2"><br><h2>Classes</h2></td></tr>
  134. <tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><b>generic_range_type</b></td></tr>
  135. <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic range, used to create range objects from the iterators. <br></td></tr>
  136. </table>
  137. <hr><a name="_details"></a><h2>Detailed Description</h2>
  138. <h3>template&lt;typename T, typename Allocator = cache_aligned_allocator&lt;T&gt;, ets_key_usage_type ETS_key_type = ets_no_key&gt;<br>
  139. class tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt;</h3>
  140. The <a class="el" href="a00293.html">enumerable_thread_specific</a> container.
  141. <p>
  142. <a class="el" href="a00293.html">enumerable_thread_specific</a> has the following properties:<ul>
  143. <li>thread-local copies are lazily created, with default, exemplar or function initialization.</li><li>thread-local copies do not move (during lifetime, and excepting <a class="el" href="a00293.html#a8764176d4b6014c5d65f1051851abc8">clear()</a>) so the address of a copy is invariant.</li><li>the contained objects need not have operator=() defined if combine is not used.</li><li><a class="el" href="a00293.html">enumerable_thread_specific</a> containers may be copy-constructed or assigned.</li><li>thread-local copies can be managed by hash-table, or can be accessed via TLS storage for speed.</li><li>outside of parallel contexts, the contents of all thread-local copies are accessible by iterator or using combine or combine_each methods</li></ul>
  144. <p>
  145. <dl compact><dt><b>Segmented iterator</b></dt><dd>When the thread-local objects are containers with input_iterators defined, a segmented iterator may be used to iterate over all the elements of all thread-local copies.</dd></dl>
  146. <dl compact><dt><b>combine and combine_each</b></dt><dd><ul>
  147. <li>Both methods are defined for <a class="el" href="a00293.html">enumerable_thread_specific</a>.</li><li>combine() requires the the type T have operator=() defined.</li><li>neither method modifies the contents of the object (though there is no guarantee that the applied methods do not modify the object.)</li><li>Both are evaluated in serial context (the methods are assumed to be non-benign.) </li></ul>
  148. </dd></dl>
  149. <p>
  150. <hr>The documentation for this class was generated from the following file:<ul>
  151. <li>enumerable_thread_specific.h</ul>
  152. <hr>
  153. <p></p>
  154. Copyright &copy; 2005-2013 Intel Corporation. All Rights Reserved.
  155. <p></p>
  156. Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
  157. registered trademarks or trademarks of Intel Corporation or its
  158. subsidiaries in the United States and other countries.
  159. <p></p>
  160. * Other names and brands may be claimed as the property of others.