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.

275 lines
17 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>tbb::blocked_range&lt; Value &gt; Class Template Reference</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 class="current"><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 id="navrow2" class="tabs2">
  28. <ul class="tablist">
  29. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  30. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  31. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  32. </ul>
  33. </div>
  34. <div id="nav-path" class="navpath">
  35. <ul>
  36. <li class="navelem"><a class="el" href="a00222.html">tbb</a></li><li class="navelem"><a class="el" href="a00021.html">blocked_range</a></li> </ul>
  37. </div>
  38. </div><!-- top -->
  39. <div class="header">
  40. <div class="summary">
  41. <a href="#pub-types">Public Types</a> &#124;
  42. <a href="#pub-methods">Public Member Functions</a> &#124;
  43. <a href="#friends">Friends</a> &#124;
  44. <a href="a00247.html">List of all members</a> </div>
  45. <div class="headertitle">
  46. <div class="title">tbb::blocked_range&lt; Value &gt; Class Template Reference<div class="ingroups"><a class="el" href="a00234.html">Algorithms</a></div></div> </div>
  47. </div><!--header-->
  48. <div class="contents">
  49. <p>A range over which to iterate.
  50. <a href="a00021.html#details">More...</a></p>
  51. <p><code>#include &lt;blocked_range.h&gt;</code></p>
  52. <table class="memberdecls">
  53. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
  54. Public Types</h2></td></tr>
  55. <tr class="memitem:ad56ca70af46acf8870b4970d8a809791"><td class="memItemLeft" align="right" valign="top">typedef Value&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a></td></tr>
  56. <tr class="memdesc:ad56ca70af46acf8870b4970d8a809791"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of a value. <a href="#ad56ca70af46acf8870b4970d8a809791">More...</a><br/></td></tr>
  57. <tr class="separator:ad56ca70af46acf8870b4970d8a809791"><td class="memSeparator" colspan="2">&#160;</td></tr>
  58. <tr class="memitem:a89b300cecd9d617e4ee801c786756e55"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89b300cecd9d617e4ee801c786756e55"></a>
  59. typedef std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a></td></tr>
  60. <tr class="memdesc:a89b300cecd9d617e4ee801c786756e55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type for size of a range. <br/></td></tr>
  61. <tr class="separator:a89b300cecd9d617e4ee801c786756e55"><td class="memSeparator" colspan="2">&#160;</td></tr>
  62. </table><table class="memberdecls">
  63. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  64. Public Member Functions</h2></td></tr>
  65. <tr class="memitem:aad176ab2cbd0bd73c3c2065761af3ccc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#aad176ab2cbd0bd73c3c2065761af3ccc">blocked_range</a> ()</td></tr>
  66. <tr class="memdesc:aad176ab2cbd0bd73c3c2065761af3ccc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct range with default-constructed values for begin and end. <a href="#aad176ab2cbd0bd73c3c2065761af3ccc">More...</a><br/></td></tr>
  67. <tr class="separator:aad176ab2cbd0bd73c3c2065761af3ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  68. <tr class="memitem:a49a97576004711b7159170fcaf488e4e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49a97576004711b7159170fcaf488e4e"></a>
  69. &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a49a97576004711b7159170fcaf488e4e">blocked_range</a> (Value begin_, Value end_, <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a> grainsize_=1)</td></tr>
  70. <tr class="memdesc:a49a97576004711b7159170fcaf488e4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct range over half-open interval [begin,end), with the given grainsize. <br/></td></tr>
  71. <tr class="separator:a49a97576004711b7159170fcaf488e4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  72. <tr class="memitem:ae225fa10454b0fa33533dfb56f5060a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae225fa10454b0fa33533dfb56f5060a2"></a>
  73. <a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2">begin</a> () const </td></tr>
  74. <tr class="memdesc:ae225fa10454b0fa33533dfb56f5060a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Beginning of range. <br/></td></tr>
  75. <tr class="separator:ae225fa10454b0fa33533dfb56f5060a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  76. <tr class="memitem:a99f829599d3e51b181a30b4cd57b06c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99f829599d3e51b181a30b4cd57b06c6"></a>
  77. <a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6">end</a> () const </td></tr>
  78. <tr class="memdesc:a99f829599d3e51b181a30b4cd57b06c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">One past last value in range. <br/></td></tr>
  79. <tr class="separator:a99f829599d3e51b181a30b4cd57b06c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="memitem:a347ef8caa40edca3b7f475f182281140"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a347ef8caa40edca3b7f475f182281140">size</a> () const </td></tr>
  81. <tr class="memdesc:a347ef8caa40edca3b7f475f182281140"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the range. <a href="#a347ef8caa40edca3b7f475f182281140">More...</a><br/></td></tr>
  82. <tr class="separator:a347ef8caa40edca3b7f475f182281140"><td class="memSeparator" colspan="2">&#160;</td></tr>
  83. <tr class="memitem:ab408f3cf90c85fa9203df5641a2f9bb1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab408f3cf90c85fa9203df5641a2f9bb1"></a>
  84. <a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ab408f3cf90c85fa9203df5641a2f9bb1">grainsize</a> () const </td></tr>
  85. <tr class="memdesc:ab408f3cf90c85fa9203df5641a2f9bb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The grain size for this range. <br/></td></tr>
  86. <tr class="separator:ab408f3cf90c85fa9203df5641a2f9bb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:a59dec03416b3fefbf69600f798177710"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59dec03416b3fefbf69600f798177710"></a>
  88. bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a59dec03416b3fefbf69600f798177710">empty</a> () const </td></tr>
  89. <tr class="memdesc:a59dec03416b3fefbf69600f798177710"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if range is empty. <br/></td></tr>
  90. <tr class="separator:a59dec03416b3fefbf69600f798177710"><td class="memSeparator" colspan="2">&#160;</td></tr>
  91. <tr class="memitem:ad90ad1db0d4d9a301ef1c9e17712e8a0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#ad90ad1db0d4d9a301ef1c9e17712e8a0">is_divisible</a> () const </td></tr>
  92. <tr class="memdesc:ad90ad1db0d4d9a301ef1c9e17712e8a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if range is divisible. <a href="#ad90ad1db0d4d9a301ef1c9e17712e8a0">More...</a><br/></td></tr>
  93. <tr class="separator:ad90ad1db0d4d9a301ef1c9e17712e8a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  94. <tr class="memitem:a75cae12286f4d5492970ea630a9783b9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00021.html#a75cae12286f4d5492970ea630a9783b9">blocked_range</a> (<a class="el" href="a00021.html">blocked_range</a> &amp;r, <a class="el" href="a00129.html">split</a>)</td></tr>
  95. <tr class="memdesc:a75cae12286f4d5492970ea630a9783b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Split range. <a href="#a75cae12286f4d5492970ea630a9783b9">More...</a><br/></td></tr>
  96. <tr class="separator:a75cae12286f4d5492970ea630a9783b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  97. </table><table class="memberdecls">
  98. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
  99. Friends</h2></td></tr>
  100. <tr class="memitem:aa504612e6c1ba07b8846bcd323847680"><td class="memTemplParams" colspan="2"><a class="anchor" id="aa504612e6c1ba07b8846bcd323847680"></a>
  101. template&lt;typename RowValue , typename ColValue &gt; </td></tr>
  102. <tr class="memitem:aa504612e6c1ba07b8846bcd323847680"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><b>blocked_range2d</b></td></tr>
  103. <tr class="separator:aa504612e6c1ba07b8846bcd323847680"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a83f67fe3b421dbaeee9040aae730d5e8"><td class="memTemplParams" colspan="2"><a class="anchor" id="a83f67fe3b421dbaeee9040aae730d5e8"></a>
  105. template&lt;typename RowValue , typename ColValue , typename PageValue &gt; </td></tr>
  106. <tr class="memitem:a83f67fe3b421dbaeee9040aae730d5e8"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><b>blocked_range3d</b></td></tr>
  107. <tr class="separator:a83f67fe3b421dbaeee9040aae730d5e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. </table>
  109. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  110. <div class="textblock"><h3>template&lt;typename Value&gt;<br/>
  111. class tbb::blocked_range&lt; Value &gt;</h3>
  112. <p>A range over which to iterate. </p>
  113. </div><h2 class="groupheader">Member Typedef Documentation</h2>
  114. <a class="anchor" id="ad56ca70af46acf8870b4970d8a809791"></a>
  115. <div class="memitem">
  116. <div class="memproto">
  117. <div class="memtemplate">
  118. template&lt;typename Value&gt; </div>
  119. <table class="memname">
  120. <tr>
  121. <td class="memname">typedef Value <a class="el" href="a00021.html">tbb::blocked_range</a>&lt; Value &gt;::<a class="el" href="a00021.html#ad56ca70af46acf8870b4970d8a809791">const_iterator</a></td>
  122. </tr>
  123. </table>
  124. </div><div class="memdoc">
  125. <p>Type of a value. </p>
  126. <p>Called a const_iterator for sake of algorithms that need to treat a <a class="el" href="a00021.html" title="A range over which to iterate. ">blocked_range</a> as an STL container. </p>
  127. </div>
  128. </div>
  129. <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  130. <a class="anchor" id="aad176ab2cbd0bd73c3c2065761af3ccc"></a>
  131. <div class="memitem">
  132. <div class="memproto">
  133. <div class="memtemplate">
  134. template&lt;typename Value&gt; </div>
  135. <table class="mlabels">
  136. <tr>
  137. <td class="mlabels-left">
  138. <table class="memname">
  139. <tr>
  140. <td class="memname"><a class="el" href="a00021.html">tbb::blocked_range</a>&lt; Value &gt;::<a class="el" href="a00021.html">blocked_range</a> </td>
  141. <td>(</td>
  142. <td class="paramname">)</td><td></td>
  143. <td></td>
  144. </tr>
  145. </table>
  146. </td>
  147. <td class="mlabels-right">
  148. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  149. </tr>
  150. </table>
  151. </div><div class="memdoc">
  152. <p>Construct range with default-constructed values for begin and end. </p>
  153. <p>Requires that Value have a default constructor. </p>
  154. </div>
  155. </div>
  156. <a class="anchor" id="a75cae12286f4d5492970ea630a9783b9"></a>
  157. <div class="memitem">
  158. <div class="memproto">
  159. <div class="memtemplate">
  160. template&lt;typename Value&gt; </div>
  161. <table class="mlabels">
  162. <tr>
  163. <td class="mlabels-left">
  164. <table class="memname">
  165. <tr>
  166. <td class="memname"><a class="el" href="a00021.html">tbb::blocked_range</a>&lt; Value &gt;::<a class="el" href="a00021.html">blocked_range</a> </td>
  167. <td>(</td>
  168. <td class="paramtype"><a class="el" href="a00021.html">blocked_range</a>&lt; Value &gt; &amp;&#160;</td>
  169. <td class="paramname"><em>r</em>, </td>
  170. </tr>
  171. <tr>
  172. <td class="paramkey"></td>
  173. <td></td>
  174. <td class="paramtype"><a class="el" href="a00129.html">split</a>&#160;</td>
  175. <td class="paramname">&#160;</td>
  176. </tr>
  177. <tr>
  178. <td></td>
  179. <td>)</td>
  180. <td></td><td></td>
  181. </tr>
  182. </table>
  183. </td>
  184. <td class="mlabels-right">
  185. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  186. </tr>
  187. </table>
  188. </div><div class="memdoc">
  189. <p>Split range. </p>
  190. <p>The new Range *this has the second half, the old range r has the first half. Unspecified if <a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6" title="One past last value in range. ">end()</a>&lt;<a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2" title="Beginning of range. ">begin()</a> or !is_divisible(). </p>
  191. </div>
  192. </div>
  193. <h2 class="groupheader">Member Function Documentation</h2>
  194. <a class="anchor" id="ad90ad1db0d4d9a301ef1c9e17712e8a0"></a>
  195. <div class="memitem">
  196. <div class="memproto">
  197. <div class="memtemplate">
  198. template&lt;typename Value&gt; </div>
  199. <table class="mlabels">
  200. <tr>
  201. <td class="mlabels-left">
  202. <table class="memname">
  203. <tr>
  204. <td class="memname">bool <a class="el" href="a00021.html">tbb::blocked_range</a>&lt; Value &gt;::is_divisible </td>
  205. <td>(</td>
  206. <td class="paramname">)</td><td></td>
  207. <td> const</td>
  208. </tr>
  209. </table>
  210. </td>
  211. <td class="mlabels-right">
  212. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  213. </tr>
  214. </table>
  215. </div><div class="memdoc">
  216. <p>True if range is divisible. </p>
  217. <p>Unspecified if <a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6" title="One past last value in range. ">end()</a>&lt;<a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2" title="Beginning of range. ">begin()</a>. </p>
  218. <p>Referenced by <a class="el" href="a00022.html#ac84c6cc2ff8b0974ffa719fed804f586">tbb::blocked_range2d&lt; RowValue, ColValue &gt;::is_divisible()</a>, and <a class="el" href="a00023.html#a0fce6bcae6269c37623c3a2cdbb8bcf0">tbb::blocked_range3d&lt; PageValue, RowValue, ColValue &gt;::is_divisible()</a>.</p>
  219. </div>
  220. </div>
  221. <a class="anchor" id="a347ef8caa40edca3b7f475f182281140"></a>
  222. <div class="memitem">
  223. <div class="memproto">
  224. <div class="memtemplate">
  225. template&lt;typename Value&gt; </div>
  226. <table class="mlabels">
  227. <tr>
  228. <td class="mlabels-left">
  229. <table class="memname">
  230. <tr>
  231. <td class="memname"><a class="el" href="a00021.html#a89b300cecd9d617e4ee801c786756e55">size_type</a> <a class="el" href="a00021.html">tbb::blocked_range</a>&lt; Value &gt;::size </td>
  232. <td>(</td>
  233. <td class="paramname">)</td><td></td>
  234. <td> const</td>
  235. </tr>
  236. </table>
  237. </td>
  238. <td class="mlabels-right">
  239. <span class="mlabels"><span class="mlabel">inline</span></span> </td>
  240. </tr>
  241. </table>
  242. </div><div class="memdoc">
  243. <p>Size of the range. </p>
  244. <p>Unspecified if <a class="el" href="a00021.html#a99f829599d3e51b181a30b4cd57b06c6" title="One past last value in range. ">end()</a>&lt;<a class="el" href="a00021.html#ae225fa10454b0fa33533dfb56f5060a2" title="Beginning of range. ">begin()</a>. </p>
  245. <p>Referenced by <a class="el" href="a00021.html#ad90ad1db0d4d9a301ef1c9e17712e8a0">tbb::blocked_range&lt; I &gt;::is_divisible()</a>.</p>
  246. </div>
  247. </div>
  248. <hr/>The documentation for this class was generated from the following file:<ul>
  249. <li>blocked_range.h</li>
  250. </ul>
  251. </div><!-- contents -->
  252. <hr>
  253. <p></p>
  254. Copyright &copy; 2005-2014 Intel Corporation. All Rights Reserved.
  255. <p></p>
  256. Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
  257. registered trademarks or trademarks of Intel Corporation or its
  258. subsidiaries in the United States and other countries.
  259. <p></p>
  260. * Other names and brands may be claimed as the property of others.