|
|
<!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< T, Allocator, ETS_key_type > 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00052.html">enumerable_thread_specific</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#friends">Friends</a> | <a href="a00354.html">List of all members</a> </div> <div class="headertitle"> <div class="title">tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Class Template Reference<div class="ingroups"><a class="el" href="a00235.html">Containers</a></div></div> </div> </div><!--header--> <div class="contents">
<p>The <a class="el" href="a00052.html" title="The enumerable_thread_specific container. ">enumerable_thread_specific</a> container. <a href="a00052.html#details">More...</a></p>
<p><code>#include <enumerable_thread_specific.h></code></p> <div class="dynheader"> Inheritance diagram for tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >:</div> <div class="dyncontent"> <div class="center"> <img src="a00052.png" usemap="#tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >_map" alt=""/> <map id="tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >_map" name="tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >_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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ad50ceae1b0e91d0fd31fe506e690692b">allocator_type</a></td></tr> <tr class="memdesc:ad50ceae1b0e91d0fd31fe506e690692b"><td class="mdescLeft"> </td><td class="mdescRight">Basic types. <br/></td></tr> <tr class="separator:ad50ceae1b0e91d0fd31fe506e690692b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a931b97e237cd2ed6eabe0d939bd141da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a931b97e237cd2ed6eabe0d939bd141da"></a> typedef T </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:a931b97e237cd2ed6eabe0d939bd141da"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a353a42e7bdda1720b7150cca99cf730b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a353a42e7bdda1720b7150cca99cf730b"></a> typedef T & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:a353a42e7bdda1720b7150cca99cf730b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6c722a4b20fb6cae21316240b61d98d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c722a4b20fb6cae21316240b61d98d2"></a> typedef const T & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr> <tr class="separator:a6c722a4b20fb6cae21316240b61d98d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad88abc185701214e53e81973235ab6de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad88abc185701214e53e81973235ab6de"></a> typedef T * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr> <tr class="separator:ad88abc185701214e53e81973235ab6de"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4aff438f46812452ab4a6f893df94fc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4aff438f46812452ab4a6f893df94fc3"></a> typedef const T * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr> <tr class="separator:a4aff438f46812452ab4a6f893df94fc3"><td class="memSeparator" colspan="2"> </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 </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:a65e9cdc58e19d96b31b467c70c79122d"><td class="memSeparator" colspan="2"> </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 </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:a0b6f002367fa7ca2e3e245e76d91ea7e"><td class="memSeparator" colspan="2"> </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"/> < <a class="el" href="a00046.html">internal_collection_type</a>, <br class="typebreak"/> value_type > </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr> <tr class="separator:a713e97c954eef04e3fda62cf8c8bd63f"><td class="memSeparator" colspan="2"> </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"/> < <a class="el" href="a00046.html">internal_collection_type</a>, <br class="typebreak"/> const value_type > </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr> <tr class="separator:a9dacd1e38e45ee787faafd3a71b23fc2"><td class="memSeparator" colspan="2"> </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"/> < iterator > </td><td class="memItemRight" valign="bottom"><b>range_type</b></td></tr> <tr class="separator:a2200200e24eaf5ed6496ff3eaa6c4dcc"><td class="memSeparator" colspan="2"> </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"/> < const_iterator > </td><td class="memItemRight" valign="bottom"><b>const_range_type</b></td></tr> <tr class="separator:a9877dc4e09dc6c625a86a463f56f180d"><td class="memSeparator" colspan="2"> </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>  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ad95ccef01367c0b6d75f6f91f5bf5315">enumerable_thread_specific</a> ()</td></tr> <tr class="memdesc:ad95ccef01367c0b6d75f6f91f5bf5315"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a6c4bec58ae7f0f2b6c77f0baf79623ee"><td class="memTemplParams" colspan="2"><a class="anchor" id="a6c4bec58ae7f0f2b6c77f0baf79623ee"></a> template<typename Finit > </td></tr> <tr class="memitem:a6c4bec58ae7f0f2b6c77f0baf79623ee"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00052.html#a6c4bec58ae7f0f2b6c77f0baf79623ee">enumerable_thread_specific</a> (Finit finit)</td></tr> <tr class="memdesc:a6c4bec58ae7f0f2b6c77f0baf79623ee"><td class="mdescLeft"> </td><td class="mdescRight">Constructor with initializer functor. Each local instance of T is constructed by T(finit()). <br/></td></tr> <tr class="separator:a6c4bec58ae7f0f2b6c77f0baf79623ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6f0249ee95fa56665da4b6984f3a685a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f0249ee95fa56665da4b6984f3a685a"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a6f0249ee95fa56665da4b6984f3a685a">enumerable_thread_specific</a> (const T &exemplar)</td></tr> <tr class="memdesc:a6f0249ee95fa56665da4b6984f3a685a"><td class="mdescLeft"> </td><td class="mdescRight">Constructor with exemplar. Each local instance of T is copied-constructed from the exemplar. <br/></td></tr> <tr class="separator:a6f0249ee95fa56665da4b6984f3a685a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6ea8d717f770acb63efc406df52d4585"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ea8d717f770acb63efc406df52d4585"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a6ea8d717f770acb63efc406df52d4585">~enumerable_thread_specific</a> ()</td></tr> <tr class="memdesc:a6ea8d717f770acb63efc406df52d4585"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <br/></td></tr> <tr class="separator:a6ea8d717f770acb63efc406df52d4585"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea846c6cbafbe2ff6bde6e8c2a2ee97e"></a> reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#aea846c6cbafbe2ff6bde6e8c2a2ee97e">local</a> ()</td></tr> <tr class="memdesc:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="mdescLeft"> </td><td class="mdescRight">returns reference to local, discarding exists <br/></td></tr> <tr class="separator:aea846c6cbafbe2ff6bde6e8c2a2ee97e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abbbc24a5816dc163d5df057c5e7f379d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbbc24a5816dc163d5df057c5e7f379d"></a> reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#abbbc24a5816dc163d5df057c5e7f379d">local</a> (bool &exists)</td></tr> <tr class="memdesc:abbbc24a5816dc163d5df057c5e7f379d"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a4c33c5390783e17daf2b25d53ae919fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c33c5390783e17daf2b25d53ae919fb"></a> size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a4c33c5390783e17daf2b25d53ae919fb">size</a> () const </td></tr> <tr class="memdesc:a4c33c5390783e17daf2b25d53ae919fb"><td class="mdescLeft"> </td><td class="mdescRight">Get the number of local copies. <br/></td></tr> <tr class="separator:a4c33c5390783e17daf2b25d53ae919fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adfa4b2e13e47ab825dc40c4f195d2bc5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfa4b2e13e47ab825dc40c4f195d2bc5"></a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#adfa4b2e13e47ab825dc40c4f195d2bc5">empty</a> () const </td></tr> <tr class="memdesc:adfa4b2e13e47ab825dc40c4f195d2bc5"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a070d26debf1f65c83de13f64f91aefdc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a070d26debf1f65c83de13f64f91aefdc"></a> iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a070d26debf1f65c83de13f64f91aefdc">begin</a> ()</td></tr> <tr class="memdesc:a070d26debf1f65c83de13f64f91aefdc"><td class="mdescLeft"> </td><td class="mdescRight">begin iterator <br/></td></tr> <tr class="separator:a070d26debf1f65c83de13f64f91aefdc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad225e2e8a968b131bf05d72f5686b924"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad225e2e8a968b131bf05d72f5686b924"></a> iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ad225e2e8a968b131bf05d72f5686b924">end</a> ()</td></tr> <tr class="memdesc:ad225e2e8a968b131bf05d72f5686b924"><td class="mdescLeft"> </td><td class="mdescRight">end iterator <br/></td></tr> <tr class="separator:ad225e2e8a968b131bf05d72f5686b924"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa097383eb6f90e4a551830fc00b60b3a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa097383eb6f90e4a551830fc00b60b3a"></a> const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#aa097383eb6f90e4a551830fc00b60b3a">begin</a> () const </td></tr> <tr class="memdesc:aa097383eb6f90e4a551830fc00b60b3a"><td class="mdescLeft"> </td><td class="mdescRight">begin const iterator <br/></td></tr> <tr class="separator:aa097383eb6f90e4a551830fc00b60b3a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5ed0248f10a7aa5045d2cda77dad9588"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ed0248f10a7aa5045d2cda77dad9588"></a> const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a5ed0248f10a7aa5045d2cda77dad9588">end</a> () const </td></tr> <tr class="memdesc:a5ed0248f10a7aa5045d2cda77dad9588"><td class="mdescLeft"> </td><td class="mdescRight">end const iterator <br/></td></tr> <tr class="separator:a5ed0248f10a7aa5045d2cda77dad9588"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac94dd896ed78df240da4a450defbca6c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac94dd896ed78df240da4a450defbca6c"></a> range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#ac94dd896ed78df240da4a450defbca6c">range</a> (size_t grainsize=1)</td></tr> <tr class="memdesc:ac94dd896ed78df240da4a450defbca6c"><td class="mdescLeft"> </td><td class="mdescRight">Get range for parallel algorithms. <br/></td></tr> <tr class="separator:ac94dd896ed78df240da4a450defbca6c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a25b9153dfe994c8122a7f0227cffe793"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25b9153dfe994c8122a7f0227cffe793"></a> const_range_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a25b9153dfe994c8122a7f0227cffe793">range</a> (size_t grainsize=1) const </td></tr> <tr class="memdesc:a25b9153dfe994c8122a7f0227cffe793"><td class="mdescLeft"> </td><td class="mdescRight">Get const range for parallel algorithms. <br/></td></tr> <tr class="separator:a25b9153dfe994c8122a7f0227cffe793"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85a0d8f088ef1ee07aeb2c0e944a4a5e"></a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html#a85a0d8f088ef1ee07aeb2c0e944a4a5e">clear</a> ()</td></tr> <tr class="memdesc:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="mdescLeft"> </td><td class="mdescRight">Destroys local copies. <br/></td></tr> <tr class="separator:a85a0d8f088ef1ee07aeb2c0e944a4a5e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4c2e2949e1b12c91c700b6394a637ac2"><td class="memTemplParams" colspan="2"><a class="anchor" id="a4c2e2949e1b12c91c700b6394a637ac2"></a> template<typename U , typename Alloc , ets_key_usage_type Cachetype> </td></tr> <tr class="memitem:a4c2e2949e1b12c91c700b6394a637ac2"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00052.html">enumerable_thread_specific</a>< U, Alloc, Cachetype > &other)</td></tr> <tr class="separator:a4c2e2949e1b12c91c700b6394a637ac2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6b614f913497b8dc168a8e6ea03eac48"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b614f913497b8dc168a8e6ea03eac48"></a>  </td><td class="memItemRight" valign="bottom"><b>enumerable_thread_specific</b> (const <a class="el" href="a00052.html">enumerable_thread_specific</a> &other)</td></tr> <tr class="separator:a6b614f913497b8dc168a8e6ea03eac48"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7af8784cd0d0f04b3f9f50988b8f0885"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7af8784cd0d0f04b3f9f50988b8f0885"></a> <a class="el" href="a00052.html">enumerable_thread_specific</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00052.html">enumerable_thread_specific</a> &other)</td></tr> <tr class="separator:a7af8784cd0d0f04b3f9f50988b8f0885"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8f5a6b7f44d0d367c7ede8dc52a0aec4"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8f5a6b7f44d0d367c7ede8dc52a0aec4"></a> template<typename U , typename Alloc , ets_key_usage_type Cachetype> </td></tr> <tr class="memitem:a8f5a6b7f44d0d367c7ede8dc52a0aec4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00052.html">enumerable_thread_specific</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a00052.html">enumerable_thread_specific</a>< U, Alloc, Cachetype > &other)</td></tr> <tr class="separator:a8f5a6b7f44d0d367c7ede8dc52a0aec4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7ab62b7fd2aeeb12e1a3b93c9ce99f27"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7ab62b7fd2aeeb12e1a3b93c9ce99f27"></a> template<typename combine_func_t > </td></tr> <tr class="memitem:a7ab62b7fd2aeeb12e1a3b93c9ce99f27"><td class="memTemplItemLeft" align="right" valign="top">T </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"> </td></tr> <tr class="memitem:ae644ea36b776fdc698d87a60ef4a3179"><td class="memTemplParams" colspan="2"><a class="anchor" id="ae644ea36b776fdc698d87a60ef4a3179"></a> template<typename combine_func_t > </td></tr> <tr class="memitem:ae644ea36b776fdc698d87a60ef4a3179"><td class="memTemplItemLeft" align="right" valign="top">void </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"> </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<typename U , typename A , ets_key_usage_type C> </td></tr> <tr class="memitem:a408a399f5d1ceaf6d0adc9451932a96a"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>enumerable_thread_specific</b></td></tr> <tr class="separator:a408a399f5d1ceaf6d0adc9451932a96a"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><h3>template<typename T, typename Allocator = cache_aligned_allocator<T>, ets_key_usage_type ETS_key_type = ets_no_key><br/> class tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type ></h3>
<p>The <a class="el" href="a00052.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="a00052.html" title="The enumerable_thread_specific container. ">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> </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 © 2005-2014 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.
|