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.

1779 lines
98 KiB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.4"/>
  7. <title>Algorithms</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <body>
  14. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  15. <!-- end header part -->
  16. <!-- Generated by Doxygen 1.8.4 -->
  17. <div id="navrow1" class="tabs">
  18. <ul class="tablist">
  19. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  20. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  21. <li><a href="modules.html"><span>Modules</span></a></li>
  22. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  23. <li><a href="annotated.html"><span>Classes</span></a></li>
  24. <li><a href="files.html"><span>Files</span></a></li>
  25. </ul>
  26. </div>
  27. </div><!-- top -->
  28. <div class="header">
  29. <div class="summary">
  30. <a href="#nested-classes">Classes</a> </div>
  31. <div class="headertitle">
  32. <div class="title">Algorithms</div> </div>
  33. </div><!--header-->
  34. <div class="contents">
  35. <table class="memberdecls">
  36. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  37. Classes</h2></td></tr>
  38. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html">tbb::blocked_range&lt; Value &gt;</a></td></tr>
  39. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A range over which to iterate. <a href="a00021.html#details">More...</a><br/></td></tr>
  40. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  41. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html">tbb::blocked_range2d&lt; RowValue, ColValue &gt;</a></td></tr>
  42. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A 2-dimensional range that models the Range concept. <a href="a00022.html#details">More...</a><br/></td></tr>
  43. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  44. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00023.html">tbb::blocked_range3d&lt; PageValue, RowValue, ColValue &gt;</a></td></tr>
  45. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A 3-dimensional range that models the Range concept. <a href="a00023.html#details">More...</a><br/></td></tr>
  46. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  47. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00090.html">tbb::pre_scan_tag</a></td></tr>
  48. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate that the initial scan is being performed. <a href="a00090.html#details">More...</a><br/></td></tr>
  49. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  50. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00055.html">tbb::final_scan_tag</a></td></tr>
  51. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate that the final scan is being performed. <a href="a00055.html#details">More...</a><br/></td></tr>
  52. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  53. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00088.html">tbb::parallel_while&lt; Body &gt;</a></td></tr>
  54. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over a stream, with optional addition of more work. <a href="a00088.html#details">More...</a><br/></td></tr>
  55. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  56. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">tbb::filter</a></td></tr>
  57. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stage in a pipeline. <a href="a00053.html#details">More...</a><br/></td></tr>
  58. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  59. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00150.html">tbb::thread_bound_filter</a></td></tr>
  60. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A stage in a pipeline served by a user thread. <a href="a00150.html#details">More...</a><br/></td></tr>
  61. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  62. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00089.html">tbb::pipeline</a></td></tr>
  63. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A processing pipeline that applies filters to items. <a href="a00089.html#details">More...</a><br/></td></tr>
  64. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  65. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00129.html">tbb::split</a></td></tr>
  66. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dummy type that distinguishes splitting constructor from copy constructor. <a href="a00129.html#details">More...</a><br/></td></tr>
  67. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  68. </table><table class="memberdecls">
  69. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  70. parallel_do</h2></td></tr>
  71. <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp751e5e5b1749802e9339f8ae6e071bc7"></a>See also requirements on <a class="el" href="a00002.html">parallel_do Body</a>. </p>
  72. </td></tr>
  73. <tr class="memitem:ga533f6732498ade8634a9470cbf89192d"><td class="memTemplParams" colspan="2">template&lt;typename Iterator , typename Body &gt; </td></tr>
  74. <tr class="memitem:ga533f6732498ade8634a9470cbf89192d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga533f6732498ade8634a9470cbf89192d">tbb::parallel_do</a> (Iterator first, Iterator last, const Body &amp;body)</td></tr>
  75. <tr class="memdesc:ga533f6732498ade8634a9470cbf89192d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work. <a href="#ga533f6732498ade8634a9470cbf89192d">More...</a><br/></td></tr>
  76. <tr class="separator:ga533f6732498ade8634a9470cbf89192d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  77. <tr class="memitem:ga7db29bc10d81eddc85854256ffc723c0"><td class="memTemplParams" colspan="2">template&lt;typename Iterator , typename Body &gt; </td></tr>
  78. <tr class="memitem:ga7db29bc10d81eddc85854256ffc723c0"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7db29bc10d81eddc85854256ffc723c0">tbb::parallel_do</a> (Iterator first, Iterator last, const Body &amp;body, task_group_context &amp;context)</td></tr>
  79. <tr class="memdesc:ga7db29bc10d81eddc85854256ffc723c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work and user-supplied context. <a href="#ga7db29bc10d81eddc85854256ffc723c0">More...</a><br/></td></tr>
  80. <tr class="separator:ga7db29bc10d81eddc85854256ffc723c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. </table><table class="memberdecls">
  82. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  83. parallel_for</h2></td></tr>
  84. <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp020f371880777e82219a69f8a512e874"></a>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00003.html">parallel_for Body</a>. </p>
  85. </td></tr>
  86. <tr class="memitem:gaa8444c29dc4d2e527a1036717d109aef"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  87. <tr class="memitem:gaa8444c29dc4d2e527a1036717d109aef"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaa8444c29dc4d2e527a1036717d109aef">tbb::parallel_for</a> (const Range &amp;range, const Body &amp;body)</td></tr>
  88. <tr class="memdesc:gaa8444c29dc4d2e527a1036717d109aef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over range with default partitioner. <a href="#gaa8444c29dc4d2e527a1036717d109aef">More...</a><br/></td></tr>
  89. <tr class="separator:gaa8444c29dc4d2e527a1036717d109aef"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  91. <tr class="memitem:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga9722d2bc7e5edb4fae9f3b55268a1ecc">tbb::parallel_for</a> (const Range &amp;range, const Body &amp;body, const simple_partitioner &amp;partitioner)</td></tr>
  92. <tr class="memdesc:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over range with simple partitioner. <a href="#ga9722d2bc7e5edb4fae9f3b55268a1ecc">More...</a><br/></td></tr>
  93. <tr class="separator:ga9722d2bc7e5edb4fae9f3b55268a1ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <tr class="memitem:gad6c4b06f96ae33cefe78235841791902"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  95. <tr class="memitem:gad6c4b06f96ae33cefe78235841791902"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gad6c4b06f96ae33cefe78235841791902">tbb::parallel_for</a> (const Range &amp;range, const Body &amp;body, const auto_partitioner &amp;partitioner)</td></tr>
  96. <tr class="memdesc:gad6c4b06f96ae33cefe78235841791902"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over range with auto_partitioner. <a href="#gad6c4b06f96ae33cefe78235841791902">More...</a><br/></td></tr>
  97. <tr class="separator:gad6c4b06f96ae33cefe78235841791902"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:gaf3d39e372d825bf54283b5ceafa90057"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  99. <tr class="memitem:gaf3d39e372d825bf54283b5ceafa90057"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaf3d39e372d825bf54283b5ceafa90057">tbb::parallel_for</a> (const Range &amp;range, const Body &amp;body, affinity_partitioner &amp;partitioner)</td></tr>
  100. <tr class="memdesc:gaf3d39e372d825bf54283b5ceafa90057"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over range with affinity_partitioner. <a href="#gaf3d39e372d825bf54283b5ceafa90057">More...</a><br/></td></tr>
  101. <tr class="separator:gaf3d39e372d825bf54283b5ceafa90057"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <tr class="memitem:ga93a621202db94665144de38c0b09bdad"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  103. <tr class="memitem:ga93a621202db94665144de38c0b09bdad"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga93a621202db94665144de38c0b09bdad">tbb::parallel_for</a> (const Range &amp;range, const Body &amp;body, task_group_context &amp;context)</td></tr>
  104. <tr class="memdesc:ga93a621202db94665144de38c0b09bdad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over range with default partitioner and user-supplied context. <a href="#ga93a621202db94665144de38c0b09bdad">More...</a><br/></td></tr>
  105. <tr class="separator:ga93a621202db94665144de38c0b09bdad"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  107. <tr class="memitem:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5b7fab9d6ffe7a9345e9349a5a007bd4">tbb::parallel_for</a> (const Range &amp;range, const Body &amp;body, const simple_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  108. <tr class="memdesc:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over range with simple partitioner and user-supplied context. <a href="#ga5b7fab9d6ffe7a9345e9349a5a007bd4">More...</a><br/></td></tr>
  109. <tr class="separator:ga5b7fab9d6ffe7a9345e9349a5a007bd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  111. <tr class="memitem:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga4c9935d8710a5cf786a92f3522ab2976">tbb::parallel_for</a> (const Range &amp;range, const Body &amp;body, const auto_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  112. <tr class="memdesc:ga4c9935d8710a5cf786a92f3522ab2976"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over range with auto_partitioner and user-supplied context. <a href="#ga4c9935d8710a5cf786a92f3522ab2976">More...</a><br/></td></tr>
  113. <tr class="separator:ga4c9935d8710a5cf786a92f3522ab2976"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  115. <tr class="memitem:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga62b1a9ac304ba1eb4f87ab8cc18dd281">tbb::parallel_for</a> (const Range &amp;range, const Body &amp;body, affinity_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  116. <tr class="memdesc:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration over range with affinity_partitioner and user-supplied context. <a href="#ga62b1a9ac304ba1eb4f87ab8cc18dd281">More...</a><br/></td></tr>
  117. <tr class="separator:ga62b1a9ac304ba1eb4f87ab8cc18dd281"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. </table><table class="memberdecls">
  119. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  120. parallel_for_each</h2></td></tr>
  121. <tr class="memitem:ga96bf42caaec779e413e5a2396c1e301c"><td class="memTemplParams" colspan="2">template&lt;typename InputIterator , typename Function &gt; </td></tr>
  122. <tr class="memitem:ga96bf42caaec779e413e5a2396c1e301c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga96bf42caaec779e413e5a2396c1e301c">tbb::parallel_for_each</a> (InputIterator first, InputIterator last, const Function &amp;f, task_group_context &amp;context)</td></tr>
  123. <tr class="memdesc:ga96bf42caaec779e413e5a2396c1e301c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls function f for all items from [first, last) interval using user-supplied context. <a href="#ga96bf42caaec779e413e5a2396c1e301c">More...</a><br/></td></tr>
  124. <tr class="separator:ga96bf42caaec779e413e5a2396c1e301c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:gaef59e9baf9141a19c99a291e4532bd98"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaef59e9baf9141a19c99a291e4532bd98"></a>
  126. template&lt;typename InputIterator , typename Function &gt; </td></tr>
  127. <tr class="memitem:gaef59e9baf9141a19c99a291e4532bd98"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaef59e9baf9141a19c99a291e4532bd98">tbb::parallel_for_each</a> (InputIterator first, InputIterator last, const Function &amp;f)</td></tr>
  128. <tr class="memdesc:gaef59e9baf9141a19c99a291e4532bd98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses default context. <br/></td></tr>
  129. <tr class="separator:gaef59e9baf9141a19c99a291e4532bd98"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. </table><table class="memberdecls">
  131. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  132. parallel_invoke</h2></td></tr>
  133. <tr class="memitem:ga14459dcbcd631194df803b155a7f610b"><td class="memTemplParams" colspan="2">template&lt;typename F0 , typename F1 &gt; </td></tr>
  134. <tr class="memitem:ga14459dcbcd631194df803b155a7f610b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga14459dcbcd631194df803b155a7f610b">tbb::parallel_invoke</a> (const F0 &amp;f0, const F1 &amp;f1, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  135. <tr class="memdesc:ga14459dcbcd631194df803b155a7f610b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes a list of tasks in parallel and waits for all tasks to complete. <a href="#ga14459dcbcd631194df803b155a7f610b">More...</a><br/></td></tr>
  136. <tr class="separator:ga14459dcbcd631194df803b155a7f610b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:gaaea3f3a8883128afb596a963e856277f"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaaea3f3a8883128afb596a963e856277f"></a>
  138. template&lt;typename F0 , typename F1 , typename F2 &gt; </td></tr>
  139. <tr class="memitem:gaaea3f3a8883128afb596a963e856277f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  140. <tr class="separator:gaaea3f3a8883128afb596a963e856277f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  141. <tr class="memitem:ga74932e64ede5047387108fa45f1af96f"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga74932e64ede5047387108fa45f1af96f"></a>
  142. template&lt;typename F0 , typename F1 , typename F2 , typename F3 &gt; </td></tr>
  143. <tr class="memitem:ga74932e64ede5047387108fa45f1af96f"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  144. <tr class="separator:ga74932e64ede5047387108fa45f1af96f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaefc1ba8f73cbdd094575f6db454fc6b5"></a>
  146. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 &gt; </td></tr>
  147. <tr class="memitem:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  148. <tr class="separator:gaefc1ba8f73cbdd094575f6db454fc6b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga3f02dfbb94238b2cf2ef8f20844b03af"></a>
  150. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 &gt; </td></tr>
  151. <tr class="memitem:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  152. <tr class="separator:ga3f02dfbb94238b2cf2ef8f20844b03af"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memTemplParams" colspan="2"><a class="anchor" id="gad8c1220bbd59e3b8e7bbcdcfdda8047e"></a>
  154. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 &gt; </td></tr>
  155. <tr class="memitem:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, const F6 &amp;f6, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  156. <tr class="separator:gad8c1220bbd59e3b8e7bbcdcfdda8047e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga5ee83a66397ee0b15c77756cb5e5168e"></a>
  158. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 &gt; </td></tr>
  159. <tr class="memitem:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, const F6 &amp;f6, const F7 &amp;f7, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  160. <tr class="separator:ga5ee83a66397ee0b15c77756cb5e5168e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. <tr class="memitem:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga1af92ebd06f6cdf5ee668b1fe62657bd"></a>
  162. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 &gt; </td></tr>
  163. <tr class="memitem:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, const F6 &amp;f6, const F7 &amp;f7, const F8 &amp;f8, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  164. <tr class="separator:ga1af92ebd06f6cdf5ee668b1fe62657bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. <tr class="memitem:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga65846bc3b2f63ed1448b6cdfea9e1c80"></a>
  166. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 , typename F9 &gt; </td></tr>
  167. <tr class="memitem:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, const F6 &amp;f6, const F7 &amp;f7, const F8 &amp;f8, const F9 &amp;f9, <a class="el" href="a00138.html">tbb::task_group_context</a> &amp;context)</td></tr>
  168. <tr class="separator:ga65846bc3b2f63ed1448b6cdfea9e1c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga6b1c36ece1d3950677dd01ef0863648c"></a>
  170. template&lt;typename F0 , typename F1 &gt; </td></tr>
  171. <tr class="memitem:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1)</td></tr>
  172. <tr class="separator:ga6b1c36ece1d3950677dd01ef0863648c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  173. <tr class="memitem:gaa979656a4c207782b74800c6c42982f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaa979656a4c207782b74800c6c42982f5"></a>
  174. template&lt;typename F0 , typename F1 , typename F2 &gt; </td></tr>
  175. <tr class="memitem:gaa979656a4c207782b74800c6c42982f5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2)</td></tr>
  176. <tr class="separator:gaa979656a4c207782b74800c6c42982f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  177. <tr class="memitem:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga219cb8061b7cf5454c0bc4d67cff1e34"></a>
  178. template&lt;typename F0 , typename F1 , typename F2 , typename F3 &gt; </td></tr>
  179. <tr class="memitem:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3)</td></tr>
  180. <tr class="separator:ga219cb8061b7cf5454c0bc4d67cff1e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga8319ee980cd7cfb03f12ffc2a5ea4895"></a>
  182. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 &gt; </td></tr>
  183. <tr class="memitem:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4)</td></tr>
  184. <tr class="separator:ga8319ee980cd7cfb03f12ffc2a5ea4895"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. <tr class="memitem:ga295daf6f7394fba29a979b914be09fc6"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga295daf6f7394fba29a979b914be09fc6"></a>
  186. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 &gt; </td></tr>
  187. <tr class="memitem:ga295daf6f7394fba29a979b914be09fc6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5)</td></tr>
  188. <tr class="separator:ga295daf6f7394fba29a979b914be09fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  189. <tr class="memitem:ga7652a01622a2f28df1e0edf40b691190"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga7652a01622a2f28df1e0edf40b691190"></a>
  190. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 &gt; </td></tr>
  191. <tr class="memitem:ga7652a01622a2f28df1e0edf40b691190"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, const F6 &amp;f6)</td></tr>
  192. <tr class="separator:ga7652a01622a2f28df1e0edf40b691190"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:gadd8826371866c58e41dee3546c35d2c8"><td class="memTemplParams" colspan="2"><a class="anchor" id="gadd8826371866c58e41dee3546c35d2c8"></a>
  194. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 &gt; </td></tr>
  195. <tr class="memitem:gadd8826371866c58e41dee3546c35d2c8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, const F6 &amp;f6, const F7 &amp;f7)</td></tr>
  196. <tr class="separator:gadd8826371866c58e41dee3546c35d2c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  197. <tr class="memitem:gaeca8b72507d67dd023dae728bdc89896"><td class="memTemplParams" colspan="2"><a class="anchor" id="gaeca8b72507d67dd023dae728bdc89896"></a>
  198. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 &gt; </td></tr>
  199. <tr class="memitem:gaeca8b72507d67dd023dae728bdc89896"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, const F6 &amp;f6, const F7 &amp;f7, const F8 &amp;f8)</td></tr>
  200. <tr class="separator:gaeca8b72507d67dd023dae728bdc89896"><td class="memSeparator" colspan="2">&#160;</td></tr>
  201. <tr class="memitem:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga17c9f95fac24b2b7b62f325f511ee7be"></a>
  202. template&lt;typename F0 , typename F1 , typename F2 , typename F3 , typename F4 , typename F5 , typename F6 , typename F7 , typename F8 , typename F9 &gt; </td></tr>
  203. <tr class="memitem:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>tbb::parallel_invoke</b> (const F0 &amp;f0, const F1 &amp;f1, const F2 &amp;f2, const F3 &amp;f3, const F4 &amp;f4, const F5 &amp;f5, const F6 &amp;f6, const F7 &amp;f7, const F8 &amp;f8, const F9 &amp;f9)</td></tr>
  204. <tr class="separator:ga17c9f95fac24b2b7b62f325f511ee7be"><td class="memSeparator" colspan="2">&#160;</td></tr>
  205. </table><table class="memberdecls">
  206. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  207. parallel_reduce</h2></td></tr>
  208. <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp949e4773fffd16cb2d32f76af48627d2"></a>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00004.html">parallel_reduce Body</a>. </p>
  209. </td></tr>
  210. <tr class="memitem:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  211. <tr class="memitem:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7b1ce9568e0a0efe1bd2d55677bc6687">tbb::parallel_reduce</a> (const Range &amp;range, Body &amp;body)</td></tr>
  212. <tr class="memdesc:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction and default partitioner. <a href="#ga7b1ce9568e0a0efe1bd2d55677bc6687">More...</a><br/></td></tr>
  213. <tr class="separator:ga7b1ce9568e0a0efe1bd2d55677bc6687"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <tr class="memitem:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  215. <tr class="memitem:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gaebb92b593827f9c3f5e1f8ee2f7d5f82">tbb::parallel_reduce</a> (const Range &amp;range, Body &amp;body, const simple_partitioner &amp;partitioner)</td></tr>
  216. <tr class="memdesc:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction and simple_partitioner. <a href="#gaebb92b593827f9c3f5e1f8ee2f7d5f82">More...</a><br/></td></tr>
  217. <tr class="separator:gaebb92b593827f9c3f5e1f8ee2f7d5f82"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <tr class="memitem:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  219. <tr class="memitem:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga3011e7266fb1e43d307060fe75be2c6e">tbb::parallel_reduce</a> (const Range &amp;range, Body &amp;body, const auto_partitioner &amp;partitioner)</td></tr>
  220. <tr class="memdesc:ga3011e7266fb1e43d307060fe75be2c6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction and auto_partitioner. <a href="#ga3011e7266fb1e43d307060fe75be2c6e">More...</a><br/></td></tr>
  221. <tr class="separator:ga3011e7266fb1e43d307060fe75be2c6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. <tr class="memitem:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  223. <tr class="memitem:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga6e83e121490df24fa5893b14e68f5e2a">tbb::parallel_reduce</a> (const Range &amp;range, Body &amp;body, affinity_partitioner &amp;partitioner)</td></tr>
  224. <tr class="memdesc:ga6e83e121490df24fa5893b14e68f5e2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction and affinity_partitioner. <a href="#ga6e83e121490df24fa5893b14e68f5e2a">More...</a><br/></td></tr>
  225. <tr class="separator:ga6e83e121490df24fa5893b14e68f5e2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  226. <tr class="memitem:gac57281bea03450ccb2d098ee8c7ab697"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  227. <tr class="memitem:gac57281bea03450ccb2d098ee8c7ab697"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gac57281bea03450ccb2d098ee8c7ab697">tbb::parallel_reduce</a> (const Range &amp;range, Body &amp;body, const simple_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  228. <tr class="memdesc:gac57281bea03450ccb2d098ee8c7ab697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context. <a href="#gac57281bea03450ccb2d098ee8c7ab697">More...</a><br/></td></tr>
  229. <tr class="separator:gac57281bea03450ccb2d098ee8c7ab697"><td class="memSeparator" colspan="2">&#160;</td></tr>
  230. <tr class="memitem:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  231. <tr class="memitem:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5f3ebf50ab7f5e53fd936817c866f7be">tbb::parallel_reduce</a> (const Range &amp;range, Body &amp;body, const auto_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  232. <tr class="memdesc:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction, auto_partitioner and user-supplied context. <a href="#ga5f3ebf50ab7f5e53fd936817c866f7be">More...</a><br/></td></tr>
  233. <tr class="separator:ga5f3ebf50ab7f5e53fd936817c866f7be"><td class="memSeparator" colspan="2">&#160;</td></tr>
  234. <tr class="memitem:ga5df3f3a9618fd35931107819cb43fce6"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  235. <tr class="memitem:ga5df3f3a9618fd35931107819cb43fce6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga5df3f3a9618fd35931107819cb43fce6">tbb::parallel_reduce</a> (const Range &amp;range, Body &amp;body, affinity_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  236. <tr class="memdesc:ga5df3f3a9618fd35931107819cb43fce6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction, affinity_partitioner and user-supplied context. <a href="#ga5df3f3a9618fd35931107819cb43fce6">More...</a><br/></td></tr>
  237. <tr class="separator:ga5df3f3a9618fd35931107819cb43fce6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  238. <tr class="memitem:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  239. <tr class="memitem:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga1c9b66fa25cadee9ca3bff75a6609b05">tbb::parallel_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction)</td></tr>
  240. <tr class="memdesc:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction and default partitioner. <a href="#ga1c9b66fa25cadee9ca3bff75a6609b05">More...</a><br/></td></tr>
  241. <tr class="separator:ga1c9b66fa25cadee9ca3bff75a6609b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
  242. <tr class="memitem:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  243. <tr class="memitem:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga0b22fd1de0e8bbaf46587d3c63a1ed93">tbb::parallel_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction, const simple_partitioner &amp;partitioner)</td></tr>
  244. <tr class="memdesc:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction and simple_partitioner. <a href="#ga0b22fd1de0e8bbaf46587d3c63a1ed93">More...</a><br/></td></tr>
  245. <tr class="separator:ga0b22fd1de0e8bbaf46587d3c63a1ed93"><td class="memSeparator" colspan="2">&#160;</td></tr>
  246. <tr class="memitem:ga56e6b6e2eee521f532c00d855280be69"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  247. <tr class="memitem:ga56e6b6e2eee521f532c00d855280be69"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga56e6b6e2eee521f532c00d855280be69">tbb::parallel_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction, const auto_partitioner &amp;partitioner)</td></tr>
  248. <tr class="memdesc:ga56e6b6e2eee521f532c00d855280be69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction and auto_partitioner. <a href="#ga56e6b6e2eee521f532c00d855280be69">More...</a><br/></td></tr>
  249. <tr class="separator:ga56e6b6e2eee521f532c00d855280be69"><td class="memSeparator" colspan="2">&#160;</td></tr>
  250. <tr class="memitem:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  251. <tr class="memitem:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gac26c35d1983e7ac2ab003cc8e49dd7e6">tbb::parallel_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction, affinity_partitioner &amp;partitioner)</td></tr>
  252. <tr class="memdesc:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction and affinity_partitioner. <a href="#gac26c35d1983e7ac2ab003cc8e49dd7e6">More...</a><br/></td></tr>
  253. <tr class="separator:gac26c35d1983e7ac2ab003cc8e49dd7e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  254. <tr class="memitem:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  255. <tr class="memitem:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga518ef2653004d60319bdfc1c6bce86b6">tbb::parallel_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction, const simple_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  256. <tr class="memdesc:ga518ef2653004d60319bdfc1c6bce86b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context. <a href="#ga518ef2653004d60319bdfc1c6bce86b6">More...</a><br/></td></tr>
  257. <tr class="separator:ga518ef2653004d60319bdfc1c6bce86b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  258. <tr class="memitem:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  259. <tr class="memitem:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga24ba50caf5a7c32cbd38912508cb69a4">tbb::parallel_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction, const auto_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  260. <tr class="memdesc:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction, auto_partitioner and user-supplied context. <a href="#ga24ba50caf5a7c32cbd38912508cb69a4">More...</a><br/></td></tr>
  261. <tr class="separator:ga24ba50caf5a7c32cbd38912508cb69a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  262. <tr class="memitem:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  263. <tr class="memitem:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga367a8e77c4dac3f8764785afdc6c9299">tbb::parallel_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction, affinity_partitioner &amp;partitioner, task_group_context &amp;context)</td></tr>
  264. <tr class="memdesc:ga367a8e77c4dac3f8764785afdc6c9299"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with reduction, affinity_partitioner and user-supplied context. <a href="#ga367a8e77c4dac3f8764785afdc6c9299">More...</a><br/></td></tr>
  265. <tr class="separator:ga367a8e77c4dac3f8764785afdc6c9299"><td class="memSeparator" colspan="2">&#160;</td></tr>
  266. <tr class="memitem:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  267. <tr class="memitem:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga1fd7e3c43592dfe1ae3e3572bd80d4f6">tbb::parallel_deterministic_reduce</a> (const Range &amp;range, Body &amp;body)</td></tr>
  268. <tr class="memdesc:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner. <a href="#ga1fd7e3c43592dfe1ae3e3572bd80d4f6">More...</a><br/></td></tr>
  269. <tr class="separator:ga1fd7e3c43592dfe1ae3e3572bd80d4f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  270. <tr class="memitem:ga361201f81b4ec7b86f81b579d2db647a"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  271. <tr class="memitem:ga361201f81b4ec7b86f81b579d2db647a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga361201f81b4ec7b86f81b579d2db647a">tbb::parallel_deterministic_reduce</a> (const Range &amp;range, Body &amp;body, task_group_context &amp;context)</td></tr>
  272. <tr class="memdesc:ga361201f81b4ec7b86f81b579d2db647a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. <a href="#ga361201f81b4ec7b86f81b579d2db647a">More...</a><br/></td></tr>
  273. <tr class="separator:ga361201f81b4ec7b86f81b579d2db647a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  274. <tr class="memitem:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  275. <tr class="memitem:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7f69e6a632acb51ed26a43ebd331f349">tbb::parallel_deterministic_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction)</td></tr>
  276. <tr class="memdesc:ga7f69e6a632acb51ed26a43ebd331f349"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner. <a href="#ga7f69e6a632acb51ed26a43ebd331f349">More...</a><br/></td></tr>
  277. <tr class="separator:ga7f69e6a632acb51ed26a43ebd331f349"><td class="memSeparator" colspan="2">&#160;</td></tr>
  278. <tr class="memitem:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </td></tr>
  279. <tr class="memitem:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memTemplItemLeft" align="right" valign="top">Value&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga69b4eea059a62cbbf409cbad02b70bfa">tbb::parallel_deterministic_reduce</a> (const Range &amp;range, const Value &amp;identity, const RealBody &amp;real_body, const Reduction &amp;reduction, task_group_context &amp;context)</td></tr>
  280. <tr class="memdesc:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. <a href="#ga69b4eea059a62cbbf409cbad02b70bfa">More...</a><br/></td></tr>
  281. <tr class="separator:ga69b4eea059a62cbbf409cbad02b70bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  282. </table><table class="memberdecls">
  283. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  284. parallel_scan</h2></td></tr>
  285. <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpea856f699c9d234ea9f5ed535b0b16bb"></a>See also requirements on <a class="el" href="a00001.html">Range</a> and <a class="el" href="a00006.html">parallel_scan Body</a>. </p>
  286. </td></tr>
  287. <tr class="memitem:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  288. <tr class="memitem:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gae7eaaf124471a6c603b28fc925e8fbbb">tbb::parallel_scan</a> (const Range &amp;range, Body &amp;body)</td></tr>
  289. <tr class="memdesc:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel prefix with default partitioner. <a href="#gae7eaaf124471a6c603b28fc925e8fbbb">More...</a><br/></td></tr>
  290. <tr class="separator:gae7eaaf124471a6c603b28fc925e8fbbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  291. <tr class="memitem:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  292. <tr class="memitem:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga7ddacf5e49f1bea9b67803f2d0f57531">tbb::parallel_scan</a> (const Range &amp;range, Body &amp;body, const simple_partitioner &amp;partitioner)</td></tr>
  293. <tr class="memdesc:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel prefix with simple_partitioner. <a href="#ga7ddacf5e49f1bea9b67803f2d0f57531">More...</a><br/></td></tr>
  294. <tr class="separator:ga7ddacf5e49f1bea9b67803f2d0f57531"><td class="memSeparator" colspan="2">&#160;</td></tr>
  295. <tr class="memitem:ga3548041731b7fa14f30f155541ceebb9"><td class="memTemplParams" colspan="2">template&lt;typename Range , typename Body &gt; </td></tr>
  296. <tr class="memitem:ga3548041731b7fa14f30f155541ceebb9"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga3548041731b7fa14f30f155541ceebb9">tbb::parallel_scan</a> (const Range &amp;range, Body &amp;body, const auto_partitioner &amp;partitioner)</td></tr>
  297. <tr class="memdesc:ga3548041731b7fa14f30f155541ceebb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parallel prefix with auto_partitioner. <a href="#ga3548041731b7fa14f30f155541ceebb9">More...</a><br/></td></tr>
  298. <tr class="separator:ga3548041731b7fa14f30f155541ceebb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  299. </table><table class="memberdecls">
  300. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
  301. parallel_sort</h2></td></tr>
  302. <tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp507087c4dcfb051fe7d24227c3a34024"></a>See also requirements on <a class="el" href="a00007.html">iterators for parallel_sort</a>. </p>
  303. </td></tr>
  304. <tr class="memitem:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memTemplParams" colspan="2">template&lt;typename RandomAccessIterator , typename Compare &gt; </td></tr>
  305. <tr class="memitem:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">tbb::parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end, const Compare &amp;comp)</td></tr>
  306. <tr class="memdesc:gabdc90813499f91d3e32298cd6dc2fe45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sorts the data in [begin,end) using the given comparator. <a href="#gabdc90813499f91d3e32298cd6dc2fe45">More...</a><br/></td></tr>
  307. <tr class="separator:gabdc90813499f91d3e32298cd6dc2fe45"><td class="memSeparator" colspan="2">&#160;</td></tr>
  308. <tr class="memitem:ga73b58ac9249f49587d0b081c152af551"><td class="memTemplParams" colspan="2">template&lt;typename RandomAccessIterator &gt; </td></tr>
  309. <tr class="memitem:ga73b58ac9249f49587d0b081c152af551"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga73b58ac9249f49587d0b081c152af551">tbb::parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end)</td></tr>
  310. <tr class="memdesc:ga73b58ac9249f49587d0b081c152af551"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sorts the data in [begin,end) with a default comparator <code>std::less&lt;RandomAccessIterator&gt;</code> <a href="#ga73b58ac9249f49587d0b081c152af551">More...</a><br/></td></tr>
  311. <tr class="separator:ga73b58ac9249f49587d0b081c152af551"><td class="memSeparator" colspan="2">&#160;</td></tr>
  312. <tr class="memitem:ga8f176cdc232a6e5907456656a24983a8"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
  313. <tr class="memitem:ga8f176cdc232a6e5907456656a24983a8"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00234.html#ga8f176cdc232a6e5907456656a24983a8">tbb::parallel_sort</a> (T *begin, T *end)</td></tr>
  314. <tr class="memdesc:ga8f176cdc232a6e5907456656a24983a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sorts the data in the range <code></code>[begin,end) with a default comparator <code>std::less&lt;T&gt;</code> <a href="#ga8f176cdc232a6e5907456656a24983a8">More...</a><br/></td></tr>
  315. <tr class="separator:ga8f176cdc232a6e5907456656a24983a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  316. </table>
  317. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  318. <h2 class="groupheader">Function Documentation</h2>
  319. <a class="anchor" id="ga1fd7e3c43592dfe1ae3e3572bd80d4f6"></a>
  320. <div class="memitem">
  321. <div class="memproto">
  322. <div class="memtemplate">
  323. template&lt;typename Range , typename Body &gt; </div>
  324. <table class="memname">
  325. <tr>
  326. <td class="memname">void tbb::parallel_deterministic_reduce </td>
  327. <td>(</td>
  328. <td class="paramtype">const Range &amp;&#160;</td>
  329. <td class="paramname"><em>range</em>, </td>
  330. </tr>
  331. <tr>
  332. <td class="paramkey"></td>
  333. <td></td>
  334. <td class="paramtype">Body &amp;&#160;</td>
  335. <td class="paramname"><em>body</em>&#160;</td>
  336. </tr>
  337. <tr>
  338. <td></td>
  339. <td>)</td>
  340. <td></td><td></td>
  341. </tr>
  342. </table>
  343. </div><div class="memdoc">
  344. <p>Parallel iteration with deterministic reduction and default partitioner. </p>
  345. </div>
  346. </div>
  347. <a class="anchor" id="ga361201f81b4ec7b86f81b579d2db647a"></a>
  348. <div class="memitem">
  349. <div class="memproto">
  350. <div class="memtemplate">
  351. template&lt;typename Range , typename Body &gt; </div>
  352. <table class="memname">
  353. <tr>
  354. <td class="memname">void tbb::parallel_deterministic_reduce </td>
  355. <td>(</td>
  356. <td class="paramtype">const Range &amp;&#160;</td>
  357. <td class="paramname"><em>range</em>, </td>
  358. </tr>
  359. <tr>
  360. <td class="paramkey"></td>
  361. <td></td>
  362. <td class="paramtype">Body &amp;&#160;</td>
  363. <td class="paramname"><em>body</em>, </td>
  364. </tr>
  365. <tr>
  366. <td class="paramkey"></td>
  367. <td></td>
  368. <td class="paramtype">task_group_context &amp;&#160;</td>
  369. <td class="paramname"><em>context</em>&#160;</td>
  370. </tr>
  371. <tr>
  372. <td></td>
  373. <td>)</td>
  374. <td></td><td></td>
  375. </tr>
  376. </table>
  377. </div><div class="memdoc">
  378. <p>Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. </p>
  379. </div>
  380. </div>
  381. <a class="anchor" id="ga7f69e6a632acb51ed26a43ebd331f349"></a>
  382. <div class="memitem">
  383. <div class="memproto">
  384. <div class="memtemplate">
  385. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  386. <table class="memname">
  387. <tr>
  388. <td class="memname">Value tbb::parallel_deterministic_reduce </td>
  389. <td>(</td>
  390. <td class="paramtype">const Range &amp;&#160;</td>
  391. <td class="paramname"><em>range</em>, </td>
  392. </tr>
  393. <tr>
  394. <td class="paramkey"></td>
  395. <td></td>
  396. <td class="paramtype">const Value &amp;&#160;</td>
  397. <td class="paramname"><em>identity</em>, </td>
  398. </tr>
  399. <tr>
  400. <td class="paramkey"></td>
  401. <td></td>
  402. <td class="paramtype">const RealBody &amp;&#160;</td>
  403. <td class="paramname"><em>real_body</em>, </td>
  404. </tr>
  405. <tr>
  406. <td class="paramkey"></td>
  407. <td></td>
  408. <td class="paramtype">const Reduction &amp;&#160;</td>
  409. <td class="paramname"><em>reduction</em>&#160;</td>
  410. </tr>
  411. <tr>
  412. <td></td>
  413. <td>)</td>
  414. <td></td><td></td>
  415. </tr>
  416. </table>
  417. </div><div class="memdoc">
  418. <p>Parallel iteration with deterministic reduction and default partitioner. </p>
  419. <p>parallel_reduce overloads that work with anonymous function objects (see also <a class="el" href="a00005.html">requirements on parallel_reduce anonymous function objects</a>). </p>
  420. </div>
  421. </div>
  422. <a class="anchor" id="ga69b4eea059a62cbbf409cbad02b70bfa"></a>
  423. <div class="memitem">
  424. <div class="memproto">
  425. <div class="memtemplate">
  426. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  427. <table class="memname">
  428. <tr>
  429. <td class="memname">Value tbb::parallel_deterministic_reduce </td>
  430. <td>(</td>
  431. <td class="paramtype">const Range &amp;&#160;</td>
  432. <td class="paramname"><em>range</em>, </td>
  433. </tr>
  434. <tr>
  435. <td class="paramkey"></td>
  436. <td></td>
  437. <td class="paramtype">const Value &amp;&#160;</td>
  438. <td class="paramname"><em>identity</em>, </td>
  439. </tr>
  440. <tr>
  441. <td class="paramkey"></td>
  442. <td></td>
  443. <td class="paramtype">const RealBody &amp;&#160;</td>
  444. <td class="paramname"><em>real_body</em>, </td>
  445. </tr>
  446. <tr>
  447. <td class="paramkey"></td>
  448. <td></td>
  449. <td class="paramtype">const Reduction &amp;&#160;</td>
  450. <td class="paramname"><em>reduction</em>, </td>
  451. </tr>
  452. <tr>
  453. <td class="paramkey"></td>
  454. <td></td>
  455. <td class="paramtype">task_group_context &amp;&#160;</td>
  456. <td class="paramname"><em>context</em>&#160;</td>
  457. </tr>
  458. <tr>
  459. <td></td>
  460. <td>)</td>
  461. <td></td><td></td>
  462. </tr>
  463. </table>
  464. </div><div class="memdoc">
  465. <p>Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. </p>
  466. </div>
  467. </div>
  468. <a class="anchor" id="ga533f6732498ade8634a9470cbf89192d"></a>
  469. <div class="memitem">
  470. <div class="memproto">
  471. <div class="memtemplate">
  472. template&lt;typename Iterator , typename Body &gt; </div>
  473. <table class="memname">
  474. <tr>
  475. <td class="memname">void tbb::parallel_do </td>
  476. <td>(</td>
  477. <td class="paramtype">Iterator&#160;</td>
  478. <td class="paramname"><em>first</em>, </td>
  479. </tr>
  480. <tr>
  481. <td class="paramkey"></td>
  482. <td></td>
  483. <td class="paramtype">Iterator&#160;</td>
  484. <td class="paramname"><em>last</em>, </td>
  485. </tr>
  486. <tr>
  487. <td class="paramkey"></td>
  488. <td></td>
  489. <td class="paramtype">const Body &amp;&#160;</td>
  490. <td class="paramname"><em>body</em>&#160;</td>
  491. </tr>
  492. <tr>
  493. <td></td>
  494. <td>)</td>
  495. <td></td><td></td>
  496. </tr>
  497. </table>
  498. </div><div class="memdoc">
  499. <p>Parallel iteration over a range, with optional addition of more work. </p>
  500. <p>Referenced by <a class="el" href="a00234.html#ga96bf42caaec779e413e5a2396c1e301c">tbb::parallel_for_each()</a>.</p>
  501. </div>
  502. </div>
  503. <a class="anchor" id="ga7db29bc10d81eddc85854256ffc723c0"></a>
  504. <div class="memitem">
  505. <div class="memproto">
  506. <div class="memtemplate">
  507. template&lt;typename Iterator , typename Body &gt; </div>
  508. <table class="memname">
  509. <tr>
  510. <td class="memname">void tbb::parallel_do </td>
  511. <td>(</td>
  512. <td class="paramtype">Iterator&#160;</td>
  513. <td class="paramname"><em>first</em>, </td>
  514. </tr>
  515. <tr>
  516. <td class="paramkey"></td>
  517. <td></td>
  518. <td class="paramtype">Iterator&#160;</td>
  519. <td class="paramname"><em>last</em>, </td>
  520. </tr>
  521. <tr>
  522. <td class="paramkey"></td>
  523. <td></td>
  524. <td class="paramtype">const Body &amp;&#160;</td>
  525. <td class="paramname"><em>body</em>, </td>
  526. </tr>
  527. <tr>
  528. <td class="paramkey"></td>
  529. <td></td>
  530. <td class="paramtype">task_group_context &amp;&#160;</td>
  531. <td class="paramname"><em>context</em>&#160;</td>
  532. </tr>
  533. <tr>
  534. <td></td>
  535. <td>)</td>
  536. <td></td><td></td>
  537. </tr>
  538. </table>
  539. </div><div class="memdoc">
  540. <p>Parallel iteration over a range, with optional addition of more work and user-supplied context. </p>
  541. </div>
  542. </div>
  543. <a class="anchor" id="gaa8444c29dc4d2e527a1036717d109aef"></a>
  544. <div class="memitem">
  545. <div class="memproto">
  546. <div class="memtemplate">
  547. template&lt;typename Range , typename Body &gt; </div>
  548. <table class="memname">
  549. <tr>
  550. <td class="memname">void tbb::parallel_for </td>
  551. <td>(</td>
  552. <td class="paramtype">const Range &amp;&#160;</td>
  553. <td class="paramname"><em>range</em>, </td>
  554. </tr>
  555. <tr>
  556. <td class="paramkey"></td>
  557. <td></td>
  558. <td class="paramtype">const Body &amp;&#160;</td>
  559. <td class="paramname"><em>body</em>&#160;</td>
  560. </tr>
  561. <tr>
  562. <td></td>
  563. <td>)</td>
  564. <td></td><td></td>
  565. </tr>
  566. </table>
  567. </div><div class="memdoc">
  568. <p>Parallel iteration over range with default partitioner. </p>
  569. </div>
  570. </div>
  571. <a class="anchor" id="ga9722d2bc7e5edb4fae9f3b55268a1ecc"></a>
  572. <div class="memitem">
  573. <div class="memproto">
  574. <div class="memtemplate">
  575. template&lt;typename Range , typename Body &gt; </div>
  576. <table class="memname">
  577. <tr>
  578. <td class="memname">void tbb::parallel_for </td>
  579. <td>(</td>
  580. <td class="paramtype">const Range &amp;&#160;</td>
  581. <td class="paramname"><em>range</em>, </td>
  582. </tr>
  583. <tr>
  584. <td class="paramkey"></td>
  585. <td></td>
  586. <td class="paramtype">const Body &amp;&#160;</td>
  587. <td class="paramname"><em>body</em>, </td>
  588. </tr>
  589. <tr>
  590. <td class="paramkey"></td>
  591. <td></td>
  592. <td class="paramtype">const simple_partitioner &amp;&#160;</td>
  593. <td class="paramname"><em>partitioner</em>&#160;</td>
  594. </tr>
  595. <tr>
  596. <td></td>
  597. <td>)</td>
  598. <td></td><td></td>
  599. </tr>
  600. </table>
  601. </div><div class="memdoc">
  602. <p>Parallel iteration over range with simple partitioner. </p>
  603. </div>
  604. </div>
  605. <a class="anchor" id="gad6c4b06f96ae33cefe78235841791902"></a>
  606. <div class="memitem">
  607. <div class="memproto">
  608. <div class="memtemplate">
  609. template&lt;typename Range , typename Body &gt; </div>
  610. <table class="memname">
  611. <tr>
  612. <td class="memname">void tbb::parallel_for </td>
  613. <td>(</td>
  614. <td class="paramtype">const Range &amp;&#160;</td>
  615. <td class="paramname"><em>range</em>, </td>
  616. </tr>
  617. <tr>
  618. <td class="paramkey"></td>
  619. <td></td>
  620. <td class="paramtype">const Body &amp;&#160;</td>
  621. <td class="paramname"><em>body</em>, </td>
  622. </tr>
  623. <tr>
  624. <td class="paramkey"></td>
  625. <td></td>
  626. <td class="paramtype">const auto_partitioner &amp;&#160;</td>
  627. <td class="paramname"><em>partitioner</em>&#160;</td>
  628. </tr>
  629. <tr>
  630. <td></td>
  631. <td>)</td>
  632. <td></td><td></td>
  633. </tr>
  634. </table>
  635. </div><div class="memdoc">
  636. <p>Parallel iteration over range with auto_partitioner. </p>
  637. </div>
  638. </div>
  639. <a class="anchor" id="gaf3d39e372d825bf54283b5ceafa90057"></a>
  640. <div class="memitem">
  641. <div class="memproto">
  642. <div class="memtemplate">
  643. template&lt;typename Range , typename Body &gt; </div>
  644. <table class="memname">
  645. <tr>
  646. <td class="memname">void tbb::parallel_for </td>
  647. <td>(</td>
  648. <td class="paramtype">const Range &amp;&#160;</td>
  649. <td class="paramname"><em>range</em>, </td>
  650. </tr>
  651. <tr>
  652. <td class="paramkey"></td>
  653. <td></td>
  654. <td class="paramtype">const Body &amp;&#160;</td>
  655. <td class="paramname"><em>body</em>, </td>
  656. </tr>
  657. <tr>
  658. <td class="paramkey"></td>
  659. <td></td>
  660. <td class="paramtype">affinity_partitioner &amp;&#160;</td>
  661. <td class="paramname"><em>partitioner</em>&#160;</td>
  662. </tr>
  663. <tr>
  664. <td></td>
  665. <td>)</td>
  666. <td></td><td></td>
  667. </tr>
  668. </table>
  669. </div><div class="memdoc">
  670. <p>Parallel iteration over range with affinity_partitioner. </p>
  671. </div>
  672. </div>
  673. <a class="anchor" id="ga93a621202db94665144de38c0b09bdad"></a>
  674. <div class="memitem">
  675. <div class="memproto">
  676. <div class="memtemplate">
  677. template&lt;typename Range , typename Body &gt; </div>
  678. <table class="memname">
  679. <tr>
  680. <td class="memname">void tbb::parallel_for </td>
  681. <td>(</td>
  682. <td class="paramtype">const Range &amp;&#160;</td>
  683. <td class="paramname"><em>range</em>, </td>
  684. </tr>
  685. <tr>
  686. <td class="paramkey"></td>
  687. <td></td>
  688. <td class="paramtype">const Body &amp;&#160;</td>
  689. <td class="paramname"><em>body</em>, </td>
  690. </tr>
  691. <tr>
  692. <td class="paramkey"></td>
  693. <td></td>
  694. <td class="paramtype">task_group_context &amp;&#160;</td>
  695. <td class="paramname"><em>context</em>&#160;</td>
  696. </tr>
  697. <tr>
  698. <td></td>
  699. <td>)</td>
  700. <td></td><td></td>
  701. </tr>
  702. </table>
  703. </div><div class="memdoc">
  704. <p>Parallel iteration over range with default partitioner and user-supplied context. </p>
  705. </div>
  706. </div>
  707. <a class="anchor" id="ga5b7fab9d6ffe7a9345e9349a5a007bd4"></a>
  708. <div class="memitem">
  709. <div class="memproto">
  710. <div class="memtemplate">
  711. template&lt;typename Range , typename Body &gt; </div>
  712. <table class="memname">
  713. <tr>
  714. <td class="memname">void tbb::parallel_for </td>
  715. <td>(</td>
  716. <td class="paramtype">const Range &amp;&#160;</td>
  717. <td class="paramname"><em>range</em>, </td>
  718. </tr>
  719. <tr>
  720. <td class="paramkey"></td>
  721. <td></td>
  722. <td class="paramtype">const Body &amp;&#160;</td>
  723. <td class="paramname"><em>body</em>, </td>
  724. </tr>
  725. <tr>
  726. <td class="paramkey"></td>
  727. <td></td>
  728. <td class="paramtype">const simple_partitioner &amp;&#160;</td>
  729. <td class="paramname"><em>partitioner</em>, </td>
  730. </tr>
  731. <tr>
  732. <td class="paramkey"></td>
  733. <td></td>
  734. <td class="paramtype">task_group_context &amp;&#160;</td>
  735. <td class="paramname"><em>context</em>&#160;</td>
  736. </tr>
  737. <tr>
  738. <td></td>
  739. <td>)</td>
  740. <td></td><td></td>
  741. </tr>
  742. </table>
  743. </div><div class="memdoc">
  744. <p>Parallel iteration over range with simple partitioner and user-supplied context. </p>
  745. </div>
  746. </div>
  747. <a class="anchor" id="ga4c9935d8710a5cf786a92f3522ab2976"></a>
  748. <div class="memitem">
  749. <div class="memproto">
  750. <div class="memtemplate">
  751. template&lt;typename Range , typename Body &gt; </div>
  752. <table class="memname">
  753. <tr>
  754. <td class="memname">void tbb::parallel_for </td>
  755. <td>(</td>
  756. <td class="paramtype">const Range &amp;&#160;</td>
  757. <td class="paramname"><em>range</em>, </td>
  758. </tr>
  759. <tr>
  760. <td class="paramkey"></td>
  761. <td></td>
  762. <td class="paramtype">const Body &amp;&#160;</td>
  763. <td class="paramname"><em>body</em>, </td>
  764. </tr>
  765. <tr>
  766. <td class="paramkey"></td>
  767. <td></td>
  768. <td class="paramtype">const auto_partitioner &amp;&#160;</td>
  769. <td class="paramname"><em>partitioner</em>, </td>
  770. </tr>
  771. <tr>
  772. <td class="paramkey"></td>
  773. <td></td>
  774. <td class="paramtype">task_group_context &amp;&#160;</td>
  775. <td class="paramname"><em>context</em>&#160;</td>
  776. </tr>
  777. <tr>
  778. <td></td>
  779. <td>)</td>
  780. <td></td><td></td>
  781. </tr>
  782. </table>
  783. </div><div class="memdoc">
  784. <p>Parallel iteration over range with auto_partitioner and user-supplied context. </p>
  785. </div>
  786. </div>
  787. <a class="anchor" id="ga62b1a9ac304ba1eb4f87ab8cc18dd281"></a>
  788. <div class="memitem">
  789. <div class="memproto">
  790. <div class="memtemplate">
  791. template&lt;typename Range , typename Body &gt; </div>
  792. <table class="memname">
  793. <tr>
  794. <td class="memname">void tbb::parallel_for </td>
  795. <td>(</td>
  796. <td class="paramtype">const Range &amp;&#160;</td>
  797. <td class="paramname"><em>range</em>, </td>
  798. </tr>
  799. <tr>
  800. <td class="paramkey"></td>
  801. <td></td>
  802. <td class="paramtype">const Body &amp;&#160;</td>
  803. <td class="paramname"><em>body</em>, </td>
  804. </tr>
  805. <tr>
  806. <td class="paramkey"></td>
  807. <td></td>
  808. <td class="paramtype">affinity_partitioner &amp;&#160;</td>
  809. <td class="paramname"><em>partitioner</em>, </td>
  810. </tr>
  811. <tr>
  812. <td class="paramkey"></td>
  813. <td></td>
  814. <td class="paramtype">task_group_context &amp;&#160;</td>
  815. <td class="paramname"><em>context</em>&#160;</td>
  816. </tr>
  817. <tr>
  818. <td></td>
  819. <td>)</td>
  820. <td></td><td></td>
  821. </tr>
  822. </table>
  823. </div><div class="memdoc">
  824. <p>Parallel iteration over range with affinity_partitioner and user-supplied context. </p>
  825. </div>
  826. </div>
  827. <a class="anchor" id="ga96bf42caaec779e413e5a2396c1e301c"></a>
  828. <div class="memitem">
  829. <div class="memproto">
  830. <div class="memtemplate">
  831. template&lt;typename InputIterator , typename Function &gt; </div>
  832. <table class="memname">
  833. <tr>
  834. <td class="memname">void tbb::parallel_for_each </td>
  835. <td>(</td>
  836. <td class="paramtype">InputIterator&#160;</td>
  837. <td class="paramname"><em>first</em>, </td>
  838. </tr>
  839. <tr>
  840. <td class="paramkey"></td>
  841. <td></td>
  842. <td class="paramtype">InputIterator&#160;</td>
  843. <td class="paramname"><em>last</em>, </td>
  844. </tr>
  845. <tr>
  846. <td class="paramkey"></td>
  847. <td></td>
  848. <td class="paramtype">const Function &amp;&#160;</td>
  849. <td class="paramname"><em>f</em>, </td>
  850. </tr>
  851. <tr>
  852. <td class="paramkey"></td>
  853. <td></td>
  854. <td class="paramtype">task_group_context &amp;&#160;</td>
  855. <td class="paramname"><em>context</em>&#160;</td>
  856. </tr>
  857. <tr>
  858. <td></td>
  859. <td>)</td>
  860. <td></td><td></td>
  861. </tr>
  862. </table>
  863. </div><div class="memdoc">
  864. <p>Calls function f for all items from [first, last) interval using user-supplied context. </p>
  865. <p>References <a class="el" href="a00234.html#ga533f6732498ade8634a9470cbf89192d">tbb::parallel_do()</a>.</p>
  866. </div>
  867. </div>
  868. <a class="anchor" id="ga14459dcbcd631194df803b155a7f610b"></a>
  869. <div class="memitem">
  870. <div class="memproto">
  871. <div class="memtemplate">
  872. template&lt;typename F0 , typename F1 &gt; </div>
  873. <table class="memname">
  874. <tr>
  875. <td class="memname">void tbb::parallel_invoke </td>
  876. <td>(</td>
  877. <td class="paramtype">const F0 &amp;&#160;</td>
  878. <td class="paramname"><em>f0</em>, </td>
  879. </tr>
  880. <tr>
  881. <td class="paramkey"></td>
  882. <td></td>
  883. <td class="paramtype">const F1 &amp;&#160;</td>
  884. <td class="paramname"><em>f1</em>, </td>
  885. </tr>
  886. <tr>
  887. <td class="paramkey"></td>
  888. <td></td>
  889. <td class="paramtype"><a class="el" href="a00138.html">tbb::task_group_context</a> &amp;&#160;</td>
  890. <td class="paramname"><em>context</em>&#160;</td>
  891. </tr>
  892. <tr>
  893. <td></td>
  894. <td>)</td>
  895. <td></td><td></td>
  896. </tr>
  897. </table>
  898. </div><div class="memdoc">
  899. <p>Executes a list of tasks in parallel and waits for all tasks to complete. </p>
  900. </div>
  901. </div>
  902. <a class="anchor" id="ga7b1ce9568e0a0efe1bd2d55677bc6687"></a>
  903. <div class="memitem">
  904. <div class="memproto">
  905. <div class="memtemplate">
  906. template&lt;typename Range , typename Body &gt; </div>
  907. <table class="memname">
  908. <tr>
  909. <td class="memname">void tbb::parallel_reduce </td>
  910. <td>(</td>
  911. <td class="paramtype">const Range &amp;&#160;</td>
  912. <td class="paramname"><em>range</em>, </td>
  913. </tr>
  914. <tr>
  915. <td class="paramkey"></td>
  916. <td></td>
  917. <td class="paramtype">Body &amp;&#160;</td>
  918. <td class="paramname"><em>body</em>&#160;</td>
  919. </tr>
  920. <tr>
  921. <td></td>
  922. <td>)</td>
  923. <td></td><td></td>
  924. </tr>
  925. </table>
  926. </div><div class="memdoc">
  927. <p>Parallel iteration with reduction and default partitioner. </p>
  928. </div>
  929. </div>
  930. <a class="anchor" id="gaebb92b593827f9c3f5e1f8ee2f7d5f82"></a>
  931. <div class="memitem">
  932. <div class="memproto">
  933. <div class="memtemplate">
  934. template&lt;typename Range , typename Body &gt; </div>
  935. <table class="memname">
  936. <tr>
  937. <td class="memname">void tbb::parallel_reduce </td>
  938. <td>(</td>
  939. <td class="paramtype">const Range &amp;&#160;</td>
  940. <td class="paramname"><em>range</em>, </td>
  941. </tr>
  942. <tr>
  943. <td class="paramkey"></td>
  944. <td></td>
  945. <td class="paramtype">Body &amp;&#160;</td>
  946. <td class="paramname"><em>body</em>, </td>
  947. </tr>
  948. <tr>
  949. <td class="paramkey"></td>
  950. <td></td>
  951. <td class="paramtype">const simple_partitioner &amp;&#160;</td>
  952. <td class="paramname"><em>partitioner</em>&#160;</td>
  953. </tr>
  954. <tr>
  955. <td></td>
  956. <td>)</td>
  957. <td></td><td></td>
  958. </tr>
  959. </table>
  960. </div><div class="memdoc">
  961. <p>Parallel iteration with reduction and simple_partitioner. </p>
  962. </div>
  963. </div>
  964. <a class="anchor" id="ga3011e7266fb1e43d307060fe75be2c6e"></a>
  965. <div class="memitem">
  966. <div class="memproto">
  967. <div class="memtemplate">
  968. template&lt;typename Range , typename Body &gt; </div>
  969. <table class="memname">
  970. <tr>
  971. <td class="memname">void tbb::parallel_reduce </td>
  972. <td>(</td>
  973. <td class="paramtype">const Range &amp;&#160;</td>
  974. <td class="paramname"><em>range</em>, </td>
  975. </tr>
  976. <tr>
  977. <td class="paramkey"></td>
  978. <td></td>
  979. <td class="paramtype">Body &amp;&#160;</td>
  980. <td class="paramname"><em>body</em>, </td>
  981. </tr>
  982. <tr>
  983. <td class="paramkey"></td>
  984. <td></td>
  985. <td class="paramtype">const auto_partitioner &amp;&#160;</td>
  986. <td class="paramname"><em>partitioner</em>&#160;</td>
  987. </tr>
  988. <tr>
  989. <td></td>
  990. <td>)</td>
  991. <td></td><td></td>
  992. </tr>
  993. </table>
  994. </div><div class="memdoc">
  995. <p>Parallel iteration with reduction and auto_partitioner. </p>
  996. </div>
  997. </div>
  998. <a class="anchor" id="ga6e83e121490df24fa5893b14e68f5e2a"></a>
  999. <div class="memitem">
  1000. <div class="memproto">
  1001. <div class="memtemplate">
  1002. template&lt;typename Range , typename Body &gt; </div>
  1003. <table class="memname">
  1004. <tr>
  1005. <td class="memname">void tbb::parallel_reduce </td>
  1006. <td>(</td>
  1007. <td class="paramtype">const Range &amp;&#160;</td>
  1008. <td class="paramname"><em>range</em>, </td>
  1009. </tr>
  1010. <tr>
  1011. <td class="paramkey"></td>
  1012. <td></td>
  1013. <td class="paramtype">Body &amp;&#160;</td>
  1014. <td class="paramname"><em>body</em>, </td>
  1015. </tr>
  1016. <tr>
  1017. <td class="paramkey"></td>
  1018. <td></td>
  1019. <td class="paramtype">affinity_partitioner &amp;&#160;</td>
  1020. <td class="paramname"><em>partitioner</em>&#160;</td>
  1021. </tr>
  1022. <tr>
  1023. <td></td>
  1024. <td>)</td>
  1025. <td></td><td></td>
  1026. </tr>
  1027. </table>
  1028. </div><div class="memdoc">
  1029. <p>Parallel iteration with reduction and affinity_partitioner. </p>
  1030. </div>
  1031. </div>
  1032. <a class="anchor" id="gac57281bea03450ccb2d098ee8c7ab697"></a>
  1033. <div class="memitem">
  1034. <div class="memproto">
  1035. <div class="memtemplate">
  1036. template&lt;typename Range , typename Body &gt; </div>
  1037. <table class="memname">
  1038. <tr>
  1039. <td class="memname">void tbb::parallel_reduce </td>
  1040. <td>(</td>
  1041. <td class="paramtype">const Range &amp;&#160;</td>
  1042. <td class="paramname"><em>range</em>, </td>
  1043. </tr>
  1044. <tr>
  1045. <td class="paramkey"></td>
  1046. <td></td>
  1047. <td class="paramtype">Body &amp;&#160;</td>
  1048. <td class="paramname"><em>body</em>, </td>
  1049. </tr>
  1050. <tr>
  1051. <td class="paramkey"></td>
  1052. <td></td>
  1053. <td class="paramtype">const simple_partitioner &amp;&#160;</td>
  1054. <td class="paramname"><em>partitioner</em>, </td>
  1055. </tr>
  1056. <tr>
  1057. <td class="paramkey"></td>
  1058. <td></td>
  1059. <td class="paramtype">task_group_context &amp;&#160;</td>
  1060. <td class="paramname"><em>context</em>&#160;</td>
  1061. </tr>
  1062. <tr>
  1063. <td></td>
  1064. <td>)</td>
  1065. <td></td><td></td>
  1066. </tr>
  1067. </table>
  1068. </div><div class="memdoc">
  1069. <p>Parallel iteration with reduction, simple partitioner and user-supplied context. </p>
  1070. </div>
  1071. </div>
  1072. <a class="anchor" id="ga5f3ebf50ab7f5e53fd936817c866f7be"></a>
  1073. <div class="memitem">
  1074. <div class="memproto">
  1075. <div class="memtemplate">
  1076. template&lt;typename Range , typename Body &gt; </div>
  1077. <table class="memname">
  1078. <tr>
  1079. <td class="memname">void tbb::parallel_reduce </td>
  1080. <td>(</td>
  1081. <td class="paramtype">const Range &amp;&#160;</td>
  1082. <td class="paramname"><em>range</em>, </td>
  1083. </tr>
  1084. <tr>
  1085. <td class="paramkey"></td>
  1086. <td></td>
  1087. <td class="paramtype">Body &amp;&#160;</td>
  1088. <td class="paramname"><em>body</em>, </td>
  1089. </tr>
  1090. <tr>
  1091. <td class="paramkey"></td>
  1092. <td></td>
  1093. <td class="paramtype">const auto_partitioner &amp;&#160;</td>
  1094. <td class="paramname"><em>partitioner</em>, </td>
  1095. </tr>
  1096. <tr>
  1097. <td class="paramkey"></td>
  1098. <td></td>
  1099. <td class="paramtype">task_group_context &amp;&#160;</td>
  1100. <td class="paramname"><em>context</em>&#160;</td>
  1101. </tr>
  1102. <tr>
  1103. <td></td>
  1104. <td>)</td>
  1105. <td></td><td></td>
  1106. </tr>
  1107. </table>
  1108. </div><div class="memdoc">
  1109. <p>Parallel iteration with reduction, auto_partitioner and user-supplied context. </p>
  1110. </div>
  1111. </div>
  1112. <a class="anchor" id="ga5df3f3a9618fd35931107819cb43fce6"></a>
  1113. <div class="memitem">
  1114. <div class="memproto">
  1115. <div class="memtemplate">
  1116. template&lt;typename Range , typename Body &gt; </div>
  1117. <table class="memname">
  1118. <tr>
  1119. <td class="memname">void tbb::parallel_reduce </td>
  1120. <td>(</td>
  1121. <td class="paramtype">const Range &amp;&#160;</td>
  1122. <td class="paramname"><em>range</em>, </td>
  1123. </tr>
  1124. <tr>
  1125. <td class="paramkey"></td>
  1126. <td></td>
  1127. <td class="paramtype">Body &amp;&#160;</td>
  1128. <td class="paramname"><em>body</em>, </td>
  1129. </tr>
  1130. <tr>
  1131. <td class="paramkey"></td>
  1132. <td></td>
  1133. <td class="paramtype">affinity_partitioner &amp;&#160;</td>
  1134. <td class="paramname"><em>partitioner</em>, </td>
  1135. </tr>
  1136. <tr>
  1137. <td class="paramkey"></td>
  1138. <td></td>
  1139. <td class="paramtype">task_group_context &amp;&#160;</td>
  1140. <td class="paramname"><em>context</em>&#160;</td>
  1141. </tr>
  1142. <tr>
  1143. <td></td>
  1144. <td>)</td>
  1145. <td></td><td></td>
  1146. </tr>
  1147. </table>
  1148. </div><div class="memdoc">
  1149. <p>Parallel iteration with reduction, affinity_partitioner and user-supplied context. </p>
  1150. </div>
  1151. </div>
  1152. <a class="anchor" id="ga1c9b66fa25cadee9ca3bff75a6609b05"></a>
  1153. <div class="memitem">
  1154. <div class="memproto">
  1155. <div class="memtemplate">
  1156. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  1157. <table class="memname">
  1158. <tr>
  1159. <td class="memname">Value tbb::parallel_reduce </td>
  1160. <td>(</td>
  1161. <td class="paramtype">const Range &amp;&#160;</td>
  1162. <td class="paramname"><em>range</em>, </td>
  1163. </tr>
  1164. <tr>
  1165. <td class="paramkey"></td>
  1166. <td></td>
  1167. <td class="paramtype">const Value &amp;&#160;</td>
  1168. <td class="paramname"><em>identity</em>, </td>
  1169. </tr>
  1170. <tr>
  1171. <td class="paramkey"></td>
  1172. <td></td>
  1173. <td class="paramtype">const RealBody &amp;&#160;</td>
  1174. <td class="paramname"><em>real_body</em>, </td>
  1175. </tr>
  1176. <tr>
  1177. <td class="paramkey"></td>
  1178. <td></td>
  1179. <td class="paramtype">const Reduction &amp;&#160;</td>
  1180. <td class="paramname"><em>reduction</em>&#160;</td>
  1181. </tr>
  1182. <tr>
  1183. <td></td>
  1184. <td>)</td>
  1185. <td></td><td></td>
  1186. </tr>
  1187. </table>
  1188. </div><div class="memdoc">
  1189. <p>Parallel iteration with reduction and default partitioner. </p>
  1190. <p>parallel_reduce overloads that work with anonymous function objects (see also <a class="el" href="a00005.html">requirements on parallel_reduce anonymous function objects</a>). </p>
  1191. </div>
  1192. </div>
  1193. <a class="anchor" id="ga0b22fd1de0e8bbaf46587d3c63a1ed93"></a>
  1194. <div class="memitem">
  1195. <div class="memproto">
  1196. <div class="memtemplate">
  1197. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  1198. <table class="memname">
  1199. <tr>
  1200. <td class="memname">Value tbb::parallel_reduce </td>
  1201. <td>(</td>
  1202. <td class="paramtype">const Range &amp;&#160;</td>
  1203. <td class="paramname"><em>range</em>, </td>
  1204. </tr>
  1205. <tr>
  1206. <td class="paramkey"></td>
  1207. <td></td>
  1208. <td class="paramtype">const Value &amp;&#160;</td>
  1209. <td class="paramname"><em>identity</em>, </td>
  1210. </tr>
  1211. <tr>
  1212. <td class="paramkey"></td>
  1213. <td></td>
  1214. <td class="paramtype">const RealBody &amp;&#160;</td>
  1215. <td class="paramname"><em>real_body</em>, </td>
  1216. </tr>
  1217. <tr>
  1218. <td class="paramkey"></td>
  1219. <td></td>
  1220. <td class="paramtype">const Reduction &amp;&#160;</td>
  1221. <td class="paramname"><em>reduction</em>, </td>
  1222. </tr>
  1223. <tr>
  1224. <td class="paramkey"></td>
  1225. <td></td>
  1226. <td class="paramtype">const simple_partitioner &amp;&#160;</td>
  1227. <td class="paramname"><em>partitioner</em>&#160;</td>
  1228. </tr>
  1229. <tr>
  1230. <td></td>
  1231. <td>)</td>
  1232. <td></td><td></td>
  1233. </tr>
  1234. </table>
  1235. </div><div class="memdoc">
  1236. <p>Parallel iteration with reduction and simple_partitioner. </p>
  1237. </div>
  1238. </div>
  1239. <a class="anchor" id="ga56e6b6e2eee521f532c00d855280be69"></a>
  1240. <div class="memitem">
  1241. <div class="memproto">
  1242. <div class="memtemplate">
  1243. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  1244. <table class="memname">
  1245. <tr>
  1246. <td class="memname">Value tbb::parallel_reduce </td>
  1247. <td>(</td>
  1248. <td class="paramtype">const Range &amp;&#160;</td>
  1249. <td class="paramname"><em>range</em>, </td>
  1250. </tr>
  1251. <tr>
  1252. <td class="paramkey"></td>
  1253. <td></td>
  1254. <td class="paramtype">const Value &amp;&#160;</td>
  1255. <td class="paramname"><em>identity</em>, </td>
  1256. </tr>
  1257. <tr>
  1258. <td class="paramkey"></td>
  1259. <td></td>
  1260. <td class="paramtype">const RealBody &amp;&#160;</td>
  1261. <td class="paramname"><em>real_body</em>, </td>
  1262. </tr>
  1263. <tr>
  1264. <td class="paramkey"></td>
  1265. <td></td>
  1266. <td class="paramtype">const Reduction &amp;&#160;</td>
  1267. <td class="paramname"><em>reduction</em>, </td>
  1268. </tr>
  1269. <tr>
  1270. <td class="paramkey"></td>
  1271. <td></td>
  1272. <td class="paramtype">const auto_partitioner &amp;&#160;</td>
  1273. <td class="paramname"><em>partitioner</em>&#160;</td>
  1274. </tr>
  1275. <tr>
  1276. <td></td>
  1277. <td>)</td>
  1278. <td></td><td></td>
  1279. </tr>
  1280. </table>
  1281. </div><div class="memdoc">
  1282. <p>Parallel iteration with reduction and auto_partitioner. </p>
  1283. </div>
  1284. </div>
  1285. <a class="anchor" id="gac26c35d1983e7ac2ab003cc8e49dd7e6"></a>
  1286. <div class="memitem">
  1287. <div class="memproto">
  1288. <div class="memtemplate">
  1289. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  1290. <table class="memname">
  1291. <tr>
  1292. <td class="memname">Value tbb::parallel_reduce </td>
  1293. <td>(</td>
  1294. <td class="paramtype">const Range &amp;&#160;</td>
  1295. <td class="paramname"><em>range</em>, </td>
  1296. </tr>
  1297. <tr>
  1298. <td class="paramkey"></td>
  1299. <td></td>
  1300. <td class="paramtype">const Value &amp;&#160;</td>
  1301. <td class="paramname"><em>identity</em>, </td>
  1302. </tr>
  1303. <tr>
  1304. <td class="paramkey"></td>
  1305. <td></td>
  1306. <td class="paramtype">const RealBody &amp;&#160;</td>
  1307. <td class="paramname"><em>real_body</em>, </td>
  1308. </tr>
  1309. <tr>
  1310. <td class="paramkey"></td>
  1311. <td></td>
  1312. <td class="paramtype">const Reduction &amp;&#160;</td>
  1313. <td class="paramname"><em>reduction</em>, </td>
  1314. </tr>
  1315. <tr>
  1316. <td class="paramkey"></td>
  1317. <td></td>
  1318. <td class="paramtype">affinity_partitioner &amp;&#160;</td>
  1319. <td class="paramname"><em>partitioner</em>&#160;</td>
  1320. </tr>
  1321. <tr>
  1322. <td></td>
  1323. <td>)</td>
  1324. <td></td><td></td>
  1325. </tr>
  1326. </table>
  1327. </div><div class="memdoc">
  1328. <p>Parallel iteration with reduction and affinity_partitioner. </p>
  1329. </div>
  1330. </div>
  1331. <a class="anchor" id="ga518ef2653004d60319bdfc1c6bce86b6"></a>
  1332. <div class="memitem">
  1333. <div class="memproto">
  1334. <div class="memtemplate">
  1335. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  1336. <table class="memname">
  1337. <tr>
  1338. <td class="memname">Value tbb::parallel_reduce </td>
  1339. <td>(</td>
  1340. <td class="paramtype">const Range &amp;&#160;</td>
  1341. <td class="paramname"><em>range</em>, </td>
  1342. </tr>
  1343. <tr>
  1344. <td class="paramkey"></td>
  1345. <td></td>
  1346. <td class="paramtype">const Value &amp;&#160;</td>
  1347. <td class="paramname"><em>identity</em>, </td>
  1348. </tr>
  1349. <tr>
  1350. <td class="paramkey"></td>
  1351. <td></td>
  1352. <td class="paramtype">const RealBody &amp;&#160;</td>
  1353. <td class="paramname"><em>real_body</em>, </td>
  1354. </tr>
  1355. <tr>
  1356. <td class="paramkey"></td>
  1357. <td></td>
  1358. <td class="paramtype">const Reduction &amp;&#160;</td>
  1359. <td class="paramname"><em>reduction</em>, </td>
  1360. </tr>
  1361. <tr>
  1362. <td class="paramkey"></td>
  1363. <td></td>
  1364. <td class="paramtype">const simple_partitioner &amp;&#160;</td>
  1365. <td class="paramname"><em>partitioner</em>, </td>
  1366. </tr>
  1367. <tr>
  1368. <td class="paramkey"></td>
  1369. <td></td>
  1370. <td class="paramtype">task_group_context &amp;&#160;</td>
  1371. <td class="paramname"><em>context</em>&#160;</td>
  1372. </tr>
  1373. <tr>
  1374. <td></td>
  1375. <td>)</td>
  1376. <td></td><td></td>
  1377. </tr>
  1378. </table>
  1379. </div><div class="memdoc">
  1380. <p>Parallel iteration with reduction, simple partitioner and user-supplied context. </p>
  1381. </div>
  1382. </div>
  1383. <a class="anchor" id="ga24ba50caf5a7c32cbd38912508cb69a4"></a>
  1384. <div class="memitem">
  1385. <div class="memproto">
  1386. <div class="memtemplate">
  1387. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  1388. <table class="memname">
  1389. <tr>
  1390. <td class="memname">Value tbb::parallel_reduce </td>
  1391. <td>(</td>
  1392. <td class="paramtype">const Range &amp;&#160;</td>
  1393. <td class="paramname"><em>range</em>, </td>
  1394. </tr>
  1395. <tr>
  1396. <td class="paramkey"></td>
  1397. <td></td>
  1398. <td class="paramtype">const Value &amp;&#160;</td>
  1399. <td class="paramname"><em>identity</em>, </td>
  1400. </tr>
  1401. <tr>
  1402. <td class="paramkey"></td>
  1403. <td></td>
  1404. <td class="paramtype">const RealBody &amp;&#160;</td>
  1405. <td class="paramname"><em>real_body</em>, </td>
  1406. </tr>
  1407. <tr>
  1408. <td class="paramkey"></td>
  1409. <td></td>
  1410. <td class="paramtype">const Reduction &amp;&#160;</td>
  1411. <td class="paramname"><em>reduction</em>, </td>
  1412. </tr>
  1413. <tr>
  1414. <td class="paramkey"></td>
  1415. <td></td>
  1416. <td class="paramtype">const auto_partitioner &amp;&#160;</td>
  1417. <td class="paramname"><em>partitioner</em>, </td>
  1418. </tr>
  1419. <tr>
  1420. <td class="paramkey"></td>
  1421. <td></td>
  1422. <td class="paramtype">task_group_context &amp;&#160;</td>
  1423. <td class="paramname"><em>context</em>&#160;</td>
  1424. </tr>
  1425. <tr>
  1426. <td></td>
  1427. <td>)</td>
  1428. <td></td><td></td>
  1429. </tr>
  1430. </table>
  1431. </div><div class="memdoc">
  1432. <p>Parallel iteration with reduction, auto_partitioner and user-supplied context. </p>
  1433. </div>
  1434. </div>
  1435. <a class="anchor" id="ga367a8e77c4dac3f8764785afdc6c9299"></a>
  1436. <div class="memitem">
  1437. <div class="memproto">
  1438. <div class="memtemplate">
  1439. template&lt;typename Range , typename Value , typename RealBody , typename Reduction &gt; </div>
  1440. <table class="memname">
  1441. <tr>
  1442. <td class="memname">Value tbb::parallel_reduce </td>
  1443. <td>(</td>
  1444. <td class="paramtype">const Range &amp;&#160;</td>
  1445. <td class="paramname"><em>range</em>, </td>
  1446. </tr>
  1447. <tr>
  1448. <td class="paramkey"></td>
  1449. <td></td>
  1450. <td class="paramtype">const Value &amp;&#160;</td>
  1451. <td class="paramname"><em>identity</em>, </td>
  1452. </tr>
  1453. <tr>
  1454. <td class="paramkey"></td>
  1455. <td></td>
  1456. <td class="paramtype">const RealBody &amp;&#160;</td>
  1457. <td class="paramname"><em>real_body</em>, </td>
  1458. </tr>
  1459. <tr>
  1460. <td class="paramkey"></td>
  1461. <td></td>
  1462. <td class="paramtype">const Reduction &amp;&#160;</td>
  1463. <td class="paramname"><em>reduction</em>, </td>
  1464. </tr>
  1465. <tr>
  1466. <td class="paramkey"></td>
  1467. <td></td>
  1468. <td class="paramtype">affinity_partitioner &amp;&#160;</td>
  1469. <td class="paramname"><em>partitioner</em>, </td>
  1470. </tr>
  1471. <tr>
  1472. <td class="paramkey"></td>
  1473. <td></td>
  1474. <td class="paramtype">task_group_context &amp;&#160;</td>
  1475. <td class="paramname"><em>context</em>&#160;</td>
  1476. </tr>
  1477. <tr>
  1478. <td></td>
  1479. <td>)</td>
  1480. <td></td><td></td>
  1481. </tr>
  1482. </table>
  1483. </div><div class="memdoc">
  1484. <p>Parallel iteration with reduction, affinity_partitioner and user-supplied context. </p>
  1485. </div>
  1486. </div>
  1487. <a class="anchor" id="gae7eaaf124471a6c603b28fc925e8fbbb"></a>
  1488. <div class="memitem">
  1489. <div class="memproto">
  1490. <div class="memtemplate">
  1491. template&lt;typename Range , typename Body &gt; </div>
  1492. <table class="memname">
  1493. <tr>
  1494. <td class="memname">void tbb::parallel_scan </td>
  1495. <td>(</td>
  1496. <td class="paramtype">const Range &amp;&#160;</td>
  1497. <td class="paramname"><em>range</em>, </td>
  1498. </tr>
  1499. <tr>
  1500. <td class="paramkey"></td>
  1501. <td></td>
  1502. <td class="paramtype">Body &amp;&#160;</td>
  1503. <td class="paramname"><em>body</em>&#160;</td>
  1504. </tr>
  1505. <tr>
  1506. <td></td>
  1507. <td>)</td>
  1508. <td></td><td></td>
  1509. </tr>
  1510. </table>
  1511. </div><div class="memdoc">
  1512. <p>Parallel prefix with default partitioner. </p>
  1513. </div>
  1514. </div>
  1515. <a class="anchor" id="ga7ddacf5e49f1bea9b67803f2d0f57531"></a>
  1516. <div class="memitem">
  1517. <div class="memproto">
  1518. <div class="memtemplate">
  1519. template&lt;typename Range , typename Body &gt; </div>
  1520. <table class="memname">
  1521. <tr>
  1522. <td class="memname">void tbb::parallel_scan </td>
  1523. <td>(</td>
  1524. <td class="paramtype">const Range &amp;&#160;</td>
  1525. <td class="paramname"><em>range</em>, </td>
  1526. </tr>
  1527. <tr>
  1528. <td class="paramkey"></td>
  1529. <td></td>
  1530. <td class="paramtype">Body &amp;&#160;</td>
  1531. <td class="paramname"><em>body</em>, </td>
  1532. </tr>
  1533. <tr>
  1534. <td class="paramkey"></td>
  1535. <td></td>
  1536. <td class="paramtype">const simple_partitioner &amp;&#160;</td>
  1537. <td class="paramname"><em>partitioner</em>&#160;</td>
  1538. </tr>
  1539. <tr>
  1540. <td></td>
  1541. <td>)</td>
  1542. <td></td><td></td>
  1543. </tr>
  1544. </table>
  1545. </div><div class="memdoc">
  1546. <p>Parallel prefix with simple_partitioner. </p>
  1547. </div>
  1548. </div>
  1549. <a class="anchor" id="ga3548041731b7fa14f30f155541ceebb9"></a>
  1550. <div class="memitem">
  1551. <div class="memproto">
  1552. <div class="memtemplate">
  1553. template&lt;typename Range , typename Body &gt; </div>
  1554. <table class="memname">
  1555. <tr>
  1556. <td class="memname">void tbb::parallel_scan </td>
  1557. <td>(</td>
  1558. <td class="paramtype">const Range &amp;&#160;</td>
  1559. <td class="paramname"><em>range</em>, </td>
  1560. </tr>
  1561. <tr>
  1562. <td class="paramkey"></td>
  1563. <td></td>
  1564. <td class="paramtype">Body &amp;&#160;</td>
  1565. <td class="paramname"><em>body</em>, </td>
  1566. </tr>
  1567. <tr>
  1568. <td class="paramkey"></td>
  1569. <td></td>
  1570. <td class="paramtype">const auto_partitioner &amp;&#160;</td>
  1571. <td class="paramname"><em>partitioner</em>&#160;</td>
  1572. </tr>
  1573. <tr>
  1574. <td></td>
  1575. <td>)</td>
  1576. <td></td><td></td>
  1577. </tr>
  1578. </table>
  1579. </div><div class="memdoc">
  1580. <p>Parallel prefix with auto_partitioner. </p>
  1581. </div>
  1582. </div>
  1583. <a class="anchor" id="gabdc90813499f91d3e32298cd6dc2fe45"></a>
  1584. <div class="memitem">
  1585. <div class="memproto">
  1586. <div class="memtemplate">
  1587. template&lt;typename RandomAccessIterator , typename Compare &gt; </div>
  1588. <table class="memname">
  1589. <tr>
  1590. <td class="memname">void tbb::parallel_sort </td>
  1591. <td>(</td>
  1592. <td class="paramtype">RandomAccessIterator&#160;</td>
  1593. <td class="paramname"><em>begin</em>, </td>
  1594. </tr>
  1595. <tr>
  1596. <td class="paramkey"></td>
  1597. <td></td>
  1598. <td class="paramtype">RandomAccessIterator&#160;</td>
  1599. <td class="paramname"><em>end</em>, </td>
  1600. </tr>
  1601. <tr>
  1602. <td class="paramkey"></td>
  1603. <td></td>
  1604. <td class="paramtype">const Compare &amp;&#160;</td>
  1605. <td class="paramname"><em>comp</em>&#160;</td>
  1606. </tr>
  1607. <tr>
  1608. <td></td>
  1609. <td>)</td>
  1610. <td></td><td></td>
  1611. </tr>
  1612. </table>
  1613. </div><div class="memdoc">
  1614. <p>Sorts the data in [begin,end) using the given comparator. </p>
  1615. <p>The compare function object is used for all comparisons between elements during sorting. The compare object must define a bool operator() function. </p>
  1616. <p>Referenced by <a class="el" href="a00234.html#ga73b58ac9249f49587d0b081c152af551">tbb::parallel_sort()</a>.</p>
  1617. </div>
  1618. </div>
  1619. <a class="anchor" id="ga73b58ac9249f49587d0b081c152af551"></a>
  1620. <div class="memitem">
  1621. <div class="memproto">
  1622. <div class="memtemplate">
  1623. template&lt;typename RandomAccessIterator &gt; </div>
  1624. <table class="mlabels">
  1625. <tr>
  1626. <td class="mlabels-left">
  1627. <table class="memname">
  1628. <tr>
  1629. <td class="memname">void tbb::parallel_sort </td>
  1630. <td>(</td>
  1631. <td class="paramtype">RandomAccessIterator&#160;</td>
  1632. <td class="paramname"><em>begin</em>, </td>
  1633. </tr>
  1634. <tr>
  1635. <td class="paramkey"></td>
  1636. <td></td>
  1637. <td class="paramtype">RandomAccessIterator&#160;</td>
  1638. <td class="paramname"><em>end</em>&#160;</td>
  1639. </tr>
  1640. <tr>
  1641. <td></td>
  1642. <td>)</td>
  1643. <td></td><td></td>
  1644. </tr>
  1645. </table>
  1646. </td>
  1647. <td class="mlabels-right">
  1648. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1649. </tr>
  1650. </table>
  1651. </div><div class="memdoc">
  1652. <p>Sorts the data in [begin,end) with a default comparator <code>std::less&lt;RandomAccessIterator&gt;</code> </p>
  1653. <p>References <a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">tbb::parallel_sort()</a>.</p>
  1654. </div>
  1655. </div>
  1656. <a class="anchor" id="ga8f176cdc232a6e5907456656a24983a8"></a>
  1657. <div class="memitem">
  1658. <div class="memproto">
  1659. <div class="memtemplate">
  1660. template&lt;typename T &gt; </div>
  1661. <table class="mlabels">
  1662. <tr>
  1663. <td class="mlabels-left">
  1664. <table class="memname">
  1665. <tr>
  1666. <td class="memname">void tbb::parallel_sort </td>
  1667. <td>(</td>
  1668. <td class="paramtype">T *&#160;</td>
  1669. <td class="paramname"><em>begin</em>, </td>
  1670. </tr>
  1671. <tr>
  1672. <td class="paramkey"></td>
  1673. <td></td>
  1674. <td class="paramtype">T *&#160;</td>
  1675. <td class="paramname"><em>end</em>&#160;</td>
  1676. </tr>
  1677. <tr>
  1678. <td></td>
  1679. <td>)</td>
  1680. <td></td><td></td>
  1681. </tr>
  1682. </table>
  1683. </td>
  1684. <td class="mlabels-right">
  1685. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  1686. </tr>
  1687. </table>
  1688. </div><div class="memdoc">
  1689. <p>Sorts the data in the range <code></code>[begin,end) with a default comparator <code>std::less&lt;T&gt;</code> </p>
  1690. <p>References <a class="el" href="a00234.html#gabdc90813499f91d3e32298cd6dc2fe45">tbb::parallel_sort()</a>.</p>
  1691. </div>
  1692. </div>
  1693. </div><!-- contents -->
  1694. <hr>
  1695. <p></p>
  1696. Copyright &copy; 2005-2014 Intel Corporation. All Rights Reserved.
  1697. <p></p>
  1698. Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
  1699. registered trademarks or trademarks of Intel Corporation or its
  1700. subsidiaries in the United States and other countries.
  1701. <p></p>
  1702. * Other names and brands may be claimed as the property of others.