dust3d/thirdparty/instant-meshes/instant-meshes-dust3d/ext/tbb/doc/html/a00056.html

262 lines
28 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</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>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="a00228.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00056.html">enumerable_thread_specific</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="a00369.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt; Class Template Reference<div class="ingroups"><a class="el" href="a00247.html">Containers</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>The <a class="el" href="a00056.html" title="The enumerable_thread_specific container. ">enumerable_thread_specific</a> container.
<a href="a00056.html#details">More...</a></p>
<p><code>#include &lt;enumerable_thread_specific.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt;:</div>
<div class="dyncontent">
<div class="center">
<img src="a00056.png" usemap="#tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt;_map" alt=""/>
<map id="tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt;_map" name="tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt;_map">
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ad50ceae1b0e91d0fd31fe506e690692b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad50ceae1b0e91d0fd31fe506e690692b"></a>
typedef Allocator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#ad50ceae1b0e91d0fd31fe506e690692b">allocator_type</a></td></tr>
<tr class="memdesc:ad50ceae1b0e91d0fd31fe506e690692b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic types. <br/></td></tr>
<tr class="separator:ad50ceae1b0e91d0fd31fe506e690692b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a931b97e237cd2ed6eabe0d939bd141da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a931b97e237cd2ed6eabe0d939bd141da"></a>
typedef T&#160;</td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr>
<tr class="separator:a931b97e237cd2ed6eabe0d939bd141da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a353a42e7bdda1720b7150cca99cf730b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a353a42e7bdda1720b7150cca99cf730b"></a>
typedef T &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr>
<tr class="separator:a353a42e7bdda1720b7150cca99cf730b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c722a4b20fb6cae21316240b61d98d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c722a4b20fb6cae21316240b61d98d2"></a>
typedef const T &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr>
<tr class="separator:a6c722a4b20fb6cae21316240b61d98d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad88abc185701214e53e81973235ab6de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad88abc185701214e53e81973235ab6de"></a>
typedef T *&#160;</td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr>
<tr class="separator:ad88abc185701214e53e81973235ab6de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aff438f46812452ab4a6f893df94fc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4aff438f46812452ab4a6f893df94fc3"></a>
typedef const T *&#160;</td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr>
<tr class="separator:a4aff438f46812452ab4a6f893df94fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65e9cdc58e19d96b31b467c70c79122d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65e9cdc58e19d96b31b467c70c79122d"></a>
typedef <br class="typebreak"/>
internal_collection_type::size_type&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
<tr class="separator:a65e9cdc58e19d96b31b467c70c79122d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b6f002367fa7ca2e3e245e76d91ea7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b6f002367fa7ca2e3e245e76d91ea7e"></a>
typedef <br class="typebreak"/>
internal_collection_type::difference_type&#160;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
<tr class="separator:a0b6f002367fa7ca2e3e245e76d91ea7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a713e97c954eef04e3fda62cf8c8bd63f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a713e97c954eef04e3fda62cf8c8bd63f"></a>
typedef <br class="typebreak"/>
internal::enumerable_thread_specific_iterator<br class="typebreak"/>
&lt; <a class="el" href="a00046.html">internal_collection_type</a>, <br class="typebreak"/>
value_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
<tr class="separator:a713e97c954eef04e3fda62cf8c8bd63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dacd1e38e45ee787faafd3a71b23fc2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9dacd1e38e45ee787faafd3a71b23fc2"></a>
typedef <br class="typebreak"/>
internal::enumerable_thread_specific_iterator<br class="typebreak"/>
&lt; <a class="el" href="a00046.html">internal_collection_type</a>, <br class="typebreak"/>
const value_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
<tr class="separator:a9dacd1e38e45ee787faafd3a71b23fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2200200e24eaf5ed6496ff3eaa6c4dcc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2200200e24eaf5ed6496ff3eaa6c4dcc"></a>
typedef generic_range_type<br class="typebreak"/>
&lt; iterator &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr>
<tr class="separator:a2200200e24eaf5ed6496ff3eaa6c4dcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9877dc4e09dc6c625a86a463f56f180d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9877dc4e09dc6c625a86a463f56f180d"></a>
typedef generic_range_type<br class="typebreak"/>
&lt; const_iterator &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr>
<tr class="separator:a9877dc4e09dc6c625a86a463f56f180d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad95ccef01367c0b6d75f6f91f5bf5315"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad95ccef01367c0b6d75f6f91f5bf5315"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#ad95ccef01367c0b6d75f6f91f5bf5315">enumerable_thread_specific</a> ()</td></tr>
<tr class="memdesc:ad95ccef01367c0b6d75f6f91f5bf5315"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. Each local instance of T is default constructed. <br/></td></tr>
<tr class="separator:ad95ccef01367c0b6d75f6f91f5bf5315"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafd6049aa255826c712aaba778524a7c"><td class="memTemplParams" colspan="2"><a class="anchor" id="aafd6049aa255826c712aaba778524a7c"></a>
template&lt;typename Finit#if __TBB_ETS_USE_CPP11, typename = typename internal::enable_if&lt;internal::is_callable_no_args&lt;typename internal::strip&lt;Finit&gt;::type&gt;::value&gt;::type #endif&gt; </td></tr>
<tr class="memitem:aafd6049aa255826c712aaba778524a7c"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00056.html#aafd6049aa255826c712aaba778524a7c">enumerable_thread_specific</a> (Finit finit)</td></tr>
<tr class="memdesc:aafd6049aa255826c712aaba778524a7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor with initializer functor. Each local instance of T is constructed by T(finit()). <br/></td></tr>
<tr class="separator:aafd6049aa255826c712aaba778524a7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f0249ee95fa56665da4b6984f3a685a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f0249ee95fa56665da4b6984f3a685a"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a6f0249ee95fa56665da4b6984f3a685a">enumerable_thread_specific</a> (const T &amp;exemplar)</td></tr>
<tr class="memdesc:a6f0249ee95fa56665da4b6984f3a685a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor with exemplar. Each local instance of T is copy-constructed from the exemplar. <br/></td></tr>
<tr class="separator:a6f0249ee95fa56665da4b6984f3a685a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0db9450c25a0d0bc94bf8d77e51653d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0db9450c25a0d0bc94bf8d77e51653d5"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b> (T &amp;&amp;exemplar)</td></tr>
<tr class="separator:a0db9450c25a0d0bc94bf8d77e51653d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa636348d57b1fc5127c7d642af51f6da"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa636348d57b1fc5127c7d642af51f6da"></a>
template&lt;typename P1 , typename... P, typename = typename internal::enable_if&lt;!internal::is_callable_no_args&lt;typename internal::strip&lt;P1&gt;::type&gt;::value &amp;&amp; !internal::is_compatible_ets&lt;T, typename internal::strip&lt;P1&gt;::type&gt;::value &amp;&amp; !internal::is_same_type&lt;T, typename internal::strip&lt;P1&gt;::type&gt;::value &gt;::type&gt; </td></tr>
<tr class="memitem:aa636348d57b1fc5127c7d642af51f6da"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00056.html#aa636348d57b1fc5127c7d642af51f6da">enumerable_thread_specific</a> (P1 &amp;&amp;arg1, P &amp;&amp;...args)</td></tr>
<tr class="memdesc:aa636348d57b1fc5127c7d642af51f6da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Variadic constructor with initializer arguments. Each local instance of T is constructed by T(args...) <br/></td></tr>
<tr class="separator:aa636348d57b1fc5127c7d642af51f6da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ea8d717f770acb63efc406df52d4585"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ea8d717f770acb63efc406df52d4585"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a6ea8d717f770acb63efc406df52d4585">~enumerable_thread_specific</a> ()</td></tr>
<tr class="memdesc:a6ea8d717f770acb63efc406df52d4585"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr class="separator:a6ea8d717f770acb63efc406df52d4585"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea846c6cbafbe2ff6bde6e8c2a2ee97e"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#aea846c6cbafbe2ff6bde6e8c2a2ee97e">local</a> ()</td></tr>
<tr class="memdesc:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns reference to local, discarding exists <br/></td></tr>
<tr class="separator:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbbc24a5816dc163d5df057c5e7f379d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbbc24a5816dc163d5df057c5e7f379d"></a>
reference&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#abbbc24a5816dc163d5df057c5e7f379d">local</a> (bool &amp;exists)</td></tr>
<tr class="memdesc:abbbc24a5816dc163d5df057c5e7f379d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns reference to calling thread's local copy, creating one if necessary. <br/></td></tr>
<tr class="separator:abbbc24a5816dc163d5df057c5e7f379d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c33c5390783e17daf2b25d53ae919fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c33c5390783e17daf2b25d53ae919fb"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a4c33c5390783e17daf2b25d53ae919fb">size</a> () const </td></tr>
<tr class="memdesc:a4c33c5390783e17daf2b25d53ae919fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of local copies. <br/></td></tr>
<tr class="separator:a4c33c5390783e17daf2b25d53ae919fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfa4b2e13e47ab825dc40c4f195d2bc5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfa4b2e13e47ab825dc40c4f195d2bc5"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#adfa4b2e13e47ab825dc40c4f195d2bc5">empty</a> () const </td></tr>
<tr class="memdesc:adfa4b2e13e47ab825dc40c4f195d2bc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">true if there have been no local copies created <br/></td></tr>
<tr class="separator:adfa4b2e13e47ab825dc40c4f195d2bc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a070d26debf1f65c83de13f64f91aefdc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a070d26debf1f65c83de13f64f91aefdc"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a070d26debf1f65c83de13f64f91aefdc">begin</a> ()</td></tr>
<tr class="memdesc:a070d26debf1f65c83de13f64f91aefdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">begin iterator <br/></td></tr>
<tr class="separator:a070d26debf1f65c83de13f64f91aefdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad225e2e8a968b131bf05d72f5686b924"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad225e2e8a968b131bf05d72f5686b924"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#ad225e2e8a968b131bf05d72f5686b924">end</a> ()</td></tr>
<tr class="memdesc:ad225e2e8a968b131bf05d72f5686b924"><td class="mdescLeft">&#160;</td><td class="mdescRight">end iterator <br/></td></tr>
<tr class="separator:ad225e2e8a968b131bf05d72f5686b924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa097383eb6f90e4a551830fc00b60b3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa097383eb6f90e4a551830fc00b60b3a"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#aa097383eb6f90e4a551830fc00b60b3a">begin</a> () const </td></tr>
<tr class="memdesc:aa097383eb6f90e4a551830fc00b60b3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">begin const iterator <br/></td></tr>
<tr class="separator:aa097383eb6f90e4a551830fc00b60b3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ed0248f10a7aa5045d2cda77dad9588"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ed0248f10a7aa5045d2cda77dad9588"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a5ed0248f10a7aa5045d2cda77dad9588">end</a> () const </td></tr>
<tr class="memdesc:a5ed0248f10a7aa5045d2cda77dad9588"><td class="mdescLeft">&#160;</td><td class="mdescRight">end const iterator <br/></td></tr>
<tr class="separator:a5ed0248f10a7aa5045d2cda77dad9588"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac94dd896ed78df240da4a450defbca6c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac94dd896ed78df240da4a450defbca6c"></a>
range_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#ac94dd896ed78df240da4a450defbca6c">range</a> (size_t grainsize=1)</td></tr>
<tr class="memdesc:ac94dd896ed78df240da4a450defbca6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get range for parallel algorithms. <br/></td></tr>
<tr class="separator:ac94dd896ed78df240da4a450defbca6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25b9153dfe994c8122a7f0227cffe793"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25b9153dfe994c8122a7f0227cffe793"></a>
const_range_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a25b9153dfe994c8122a7f0227cffe793">range</a> (size_t grainsize=1) const </td></tr>
<tr class="memdesc:a25b9153dfe994c8122a7f0227cffe793"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get const range for parallel algorithms. <br/></td></tr>
<tr class="separator:a25b9153dfe994c8122a7f0227cffe793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85a0d8f088ef1ee07aeb2c0e944a4a5e"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00056.html#a85a0d8f088ef1ee07aeb2c0e944a4a5e">clear</a> ()</td></tr>
<tr class="memdesc:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys local copies. <br/></td></tr>
<tr class="separator:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b614f913497b8dc168a8e6ea03eac48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b614f913497b8dc168a8e6ea03eac48"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00056.html">enumerable_thread_specific</a> &amp;other)</td></tr>
<tr class="separator:a6b614f913497b8dc168a8e6ea03eac48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15960d5f730ea183a581730e912700c8"><td class="memTemplParams" colspan="2"><a class="anchor" id="a15960d5f730ea183a581730e912700c8"></a>
template&lt;typename Alloc , ets_key_usage_type Cachetype&gt; </td></tr>
<tr class="memitem:a15960d5f730ea183a581730e912700c8"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00056.html">enumerable_thread_specific</a>&lt; T, Alloc, Cachetype &gt; &amp;other)</td></tr>
<tr class="separator:a15960d5f730ea183a581730e912700c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04038b049009e17c637cc62a175afa29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a04038b049009e17c637cc62a175afa29"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b> (<a class="el" href="a00056.html">enumerable_thread_specific</a> &amp;&amp;other)</td></tr>
<tr class="separator:a04038b049009e17c637cc62a175afa29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33e410c904bc378c66e8e6724ea16671"><td class="memTemplParams" colspan="2"><a class="anchor" id="a33e410c904bc378c66e8e6724ea16671"></a>
template&lt;typename Alloc , ets_key_usage_type Cachetype&gt; </td></tr>
<tr class="memitem:a33e410c904bc378c66e8e6724ea16671"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b> (<a class="el" href="a00056.html">enumerable_thread_specific</a>&lt; T, Alloc, Cachetype &gt; &amp;&amp;other)</td></tr>
<tr class="separator:a33e410c904bc378c66e8e6724ea16671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7af8784cd0d0f04b3f9f50988b8f0885"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7af8784cd0d0f04b3f9f50988b8f0885"></a>
<a class="el" href="a00056.html">enumerable_thread_specific</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00056.html">enumerable_thread_specific</a> &amp;other)</td></tr>
<tr class="separator:a7af8784cd0d0f04b3f9f50988b8f0885"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e2cfddffa47dd0eb042cf6cbcea815f"><td class="memTemplParams" colspan="2"><a class="anchor" id="a5e2cfddffa47dd0eb042cf6cbcea815f"></a>
template&lt;typename Alloc , ets_key_usage_type Cachetype&gt; </td></tr>
<tr class="memitem:a5e2cfddffa47dd0eb042cf6cbcea815f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00056.html">enumerable_thread_specific</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00056.html">enumerable_thread_specific</a>&lt; T, Alloc, Cachetype &gt; &amp;other)</td></tr>
<tr class="separator:a5e2cfddffa47dd0eb042cf6cbcea815f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae01add07bc8d4fbda9db79f692c1ae8b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae01add07bc8d4fbda9db79f692c1ae8b"></a>
<a class="el" href="a00056.html">enumerable_thread_specific</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="a00056.html">enumerable_thread_specific</a> &amp;&amp;other)</td></tr>
<tr class="separator:ae01add07bc8d4fbda9db79f692c1ae8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a324887df609279ad02d36b3b8e238729"><td class="memTemplParams" colspan="2"><a class="anchor" id="a324887df609279ad02d36b3b8e238729"></a>
template&lt;typename Alloc , ets_key_usage_type Cachetype&gt; </td></tr>
<tr class="memitem:a324887df609279ad02d36b3b8e238729"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00056.html">enumerable_thread_specific</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="a00056.html">enumerable_thread_specific</a>&lt; T, Alloc, Cachetype &gt; &amp;&amp;other)</td></tr>
<tr class="separator:a324887df609279ad02d36b3b8e238729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ab62b7fd2aeeb12e1a3b93c9ce99f27"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7ab62b7fd2aeeb12e1a3b93c9ce99f27"></a>
template&lt;typename combine_func_t &gt; </td></tr>
<tr class="memitem:a7ab62b7fd2aeeb12e1a3b93c9ce99f27"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><b>combine</b> (combine_func_t f_combine)</td></tr>
<tr class="separator:a7ab62b7fd2aeeb12e1a3b93c9ce99f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae644ea36b776fdc698d87a60ef4a3179"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae644ea36b776fdc698d87a60ef4a3179"></a>
template&lt;typename combine_func_t &gt; </td></tr>
<tr class="memitem:ae644ea36b776fdc698d87a60ef4a3179"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>combine_each</b> (combine_func_t f_combine)</td></tr>
<tr class="separator:ae644ea36b776fdc698d87a60ef4a3179"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a408a399f5d1ceaf6d0adc9451932a96a"><td class="memTemplParams" colspan="2"><a class="anchor" id="a408a399f5d1ceaf6d0adc9451932a96a"></a>
template&lt;typename U , typename A , ets_key_usage_type C&gt; </td></tr>
<tr class="memitem:a408a399f5d1ceaf6d0adc9451932a96a"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b></td></tr>
<tr class="separator:a408a399f5d1ceaf6d0adc9451932a96a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename T, typename Allocator, ets_key_usage_type ETS_key_type&gt;<br/>
class tbb::interface6::enumerable_thread_specific&lt; T, Allocator, ETS_key_type &gt;</h3>
<p>The <a class="el" href="a00056.html" title="The enumerable_thread_specific container. ">enumerable_thread_specific</a> container. </p>
<pre class="fragment">enumerable_thread_specific has the following properties:
- thread-local copies are lazily created, with default, exemplar or function initialization.
- thread-local copies do not move (during lifetime, and excepting clear()) so the address of a copy is invariant.
- the contained objects need not have operator=() defined if combine is not used.
- enumerable_thread_specific containers may be copy-constructed or assigned.
- thread-local copies can be managed by hash-table, or can be accessed via TLS storage for speed.
- outside of parallel contexts, the contents of all thread-local copies are accessible by iterator or using combine or combine_each methods
</pre><dl class="section user"><dt>Segmented iterator</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>
<dl class="section user"><dt>combine and combine_each</dt><dd><ul>
<li>Both methods are defined for <a class="el" href="a00056.html" title="The enumerable_thread_specific container. ">enumerable_thread_specific</a>.</li>
<li>combine() requires 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>
</dd></dl>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>enumerable_thread_specific.h</li>
</ul>
</div><!-- contents -->
<hr>
<p></p>
Copyright &copy; 2005-2016 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.