<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>parallel_scan.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="annotated.html"><span>Classes</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
  </ul></div>
<h1>parallel_scan.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">    Copyright 2005-2010 Intel Corporation.  All Rights Reserved.</span>
<a name="l00003"></a>00003 <span class="comment"></span>
<a name="l00004"></a>00004 <span class="comment">    The source code contained or described herein and all documents related</span>
<a name="l00005"></a>00005 <span class="comment">    to the source code ("Material") are owned by Intel Corporation or its</span>
<a name="l00006"></a>00006 <span class="comment">    suppliers or licensors.  Title to the Material remains with Intel</span>
<a name="l00007"></a>00007 <span class="comment">    Corporation or its suppliers and licensors.  The Material is protected</span>
<a name="l00008"></a>00008 <span class="comment">    by worldwide copyright laws and treaty provisions.  No part of the</span>
<a name="l00009"></a>00009 <span class="comment">    Material may be used, copied, reproduced, modified, published, uploaded,</span>
<a name="l00010"></a>00010 <span class="comment">    posted, transmitted, distributed, or disclosed in any way without</span>
<a name="l00011"></a>00011 <span class="comment">    Intel's prior express written permission.</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="comment">    No license under any patent, copyright, trade secret or other</span>
<a name="l00014"></a>00014 <span class="comment">    intellectual property right is granted to or conferred upon you by</span>
<a name="l00015"></a>00015 <span class="comment">    disclosure or delivery of the Materials, either expressly, by</span>
<a name="l00016"></a>00016 <span class="comment">    implication, inducement, estoppel or otherwise.  Any license under such</span>
<a name="l00017"></a>00017 <span class="comment">    intellectual property rights must be express and approved by Intel in</span>
<a name="l00018"></a>00018 <span class="comment">    writing.</span>
<a name="l00019"></a>00019 <span class="comment">*/</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef __TBB_parallel_scan_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define __TBB_parallel_scan_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include "task.h"</span>
<a name="l00025"></a>00025 <span class="preprocessor">#include "aligned_space.h"</span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;new&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "partitioner.h"</span>
<a name="l00028"></a>00028 
<a name="l00029"></a>00029 <span class="keyword">namespace </span>tbb {
<a name="l00030"></a>00030 
<a name="l00032"></a>00032 
<a name="l00033"></a><a class="code" href="a00181.html">00033</a> <span class="keyword">struct </span><a class="code" href="a00181.html">pre_scan_tag</a> {
<a name="l00034"></a>00034     <span class="keyword">static</span> <span class="keywordtype">bool</span> is_final_scan() {<span class="keywordflow">return</span> <span class="keyword">false</span>;}
<a name="l00035"></a>00035 };
<a name="l00036"></a>00036 
<a name="l00038"></a>00038 
<a name="l00039"></a><a class="code" href="a00167.html">00039</a> <span class="keyword">struct </span><a class="code" href="a00167.html">final_scan_tag</a> {
<a name="l00040"></a>00040     <span class="keyword">static</span> <span class="keywordtype">bool</span> is_final_scan() {<span class="keywordflow">return</span> <span class="keyword">true</span>;}
<a name="l00041"></a>00041 };
<a name="l00042"></a>00042 
<a name="l00044"></a>00044 <span class="keyword">namespace </span>internal {
<a name="l00045"></a>00045 
<a name="l00047"></a>00047 
<a name="l00048"></a>00048     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00049"></a>00049     <span class="keyword">class </span>final_sum: <span class="keyword">public</span> <a class="code" href="a00199.html">task</a> {
<a name="l00050"></a>00050     <span class="keyword">public</span>:
<a name="l00051"></a>00051         Body body;
<a name="l00052"></a>00052     <span class="keyword">private</span>:
<a name="l00053"></a>00053         <a class="code" href="a00142.html">aligned_space&lt;Range,1&gt;</a> range;
<a name="l00055"></a>00055         Body* stuff_last;
<a name="l00056"></a>00056     <span class="keyword">public</span>:
<a name="l00057"></a>00057         final_sum( Body&amp; body_ ) :
<a name="l00058"></a>00058             body(body_,<a class="code" href="a00198.html">split</a>())
<a name="l00059"></a>00059         {
<a name="l00060"></a>00060             poison_pointer(stuff_last);
<a name="l00061"></a>00061         }
<a name="l00062"></a>00062         ~final_sum() {
<a name="l00063"></a>00063             range.begin()-&gt;~Range();
<a name="l00064"></a>00064         }     
<a name="l00065"></a>00065         <span class="keywordtype">void</span> finish_construction( <span class="keyword">const</span> Range&amp; range_, Body* stuff_last_ ) {
<a name="l00066"></a>00066             <span class="keyword">new</span>( range.begin() ) Range(range_);
<a name="l00067"></a>00067             stuff_last = stuff_last_;
<a name="l00068"></a>00068         }
<a name="l00069"></a>00069     <span class="keyword">private</span>:
<a name="l00070"></a>00070         <span class="comment">/*override*/</span> task* execute() {
<a name="l00071"></a>00071             body( *range.begin(), final_scan_tag() );
<a name="l00072"></a>00072             <span class="keywordflow">if</span>( stuff_last )
<a name="l00073"></a>00073                 stuff_last-&gt;assign(body);
<a name="l00074"></a>00074             <span class="keywordflow">return</span> NULL;
<a name="l00075"></a>00075         }
<a name="l00076"></a>00076     };       
<a name="l00077"></a>00077 
<a name="l00079"></a>00079 
<a name="l00080"></a>00080     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00081"></a>00081     <span class="keyword">class </span>sum_node: <span class="keyword">public</span> task {
<a name="l00082"></a>00082         <span class="keyword">typedef</span> final_sum&lt;Range,Body&gt; final_sum_type;
<a name="l00083"></a>00083     <span class="keyword">public</span>:
<a name="l00084"></a>00084         final_sum_type *incoming; 
<a name="l00085"></a>00085         final_sum_type *body;
<a name="l00086"></a>00086         Body *stuff_last;
<a name="l00087"></a>00087     <span class="keyword">private</span>:
<a name="l00088"></a>00088         final_sum_type *left_sum;
<a name="l00089"></a>00089         sum_node *left;
<a name="l00090"></a>00090         sum_node *right;     
<a name="l00091"></a>00091         <span class="keywordtype">bool</span> left_is_final;
<a name="l00092"></a>00092         Range range;
<a name="l00093"></a>00093         sum_node( <span class="keyword">const</span> Range range_, <span class="keywordtype">bool</span> left_is_final_ ) : 
<a name="l00094"></a>00094             left_sum(NULL), 
<a name="l00095"></a>00095             left(NULL), 
<a name="l00096"></a>00096             right(NULL), 
<a name="l00097"></a>00097             left_is_final(left_is_final_), 
<a name="l00098"></a>00098             range(range_)
<a name="l00099"></a>00099         {
<a name="l00100"></a>00100             <span class="comment">// Poison fields that will be set by second pass.</span>
<a name="l00101"></a>00101             poison_pointer(body);
<a name="l00102"></a>00102             poison_pointer(incoming);
<a name="l00103"></a>00103         }
<a name="l00104"></a>00104         task* create_child( <span class="keyword">const</span> Range&amp; range_, final_sum_type&amp; f, sum_node* n, final_sum_type* incoming_, Body* stuff_last_ ) {
<a name="l00105"></a>00105             <span class="keywordflow">if</span>( !n ) {
<a name="l00106"></a>00106                 f.recycle_as_child_of( *<span class="keyword">this</span> );
<a name="l00107"></a>00107                 f.finish_construction( range_, stuff_last_ );
<a name="l00108"></a>00108                 <span class="keywordflow">return</span> &amp;f;
<a name="l00109"></a>00109             } <span class="keywordflow">else</span> {
<a name="l00110"></a>00110                 n-&gt;body = &amp;f;
<a name="l00111"></a>00111                 n-&gt;incoming = incoming_;
<a name="l00112"></a>00112                 n-&gt;stuff_last = stuff_last_;
<a name="l00113"></a>00113                 <span class="keywordflow">return</span> n;
<a name="l00114"></a>00114             }
<a name="l00115"></a>00115         }
<a name="l00116"></a>00116         <span class="comment">/*override*/</span> task* execute() {
<a name="l00117"></a>00117             <span class="keywordflow">if</span>( body ) {
<a name="l00118"></a>00118                 <span class="keywordflow">if</span>( incoming )
<a name="l00119"></a>00119                     left_sum-&gt;body.reverse_join( incoming-&gt;body );
<a name="l00120"></a>00120                 recycle_as_continuation();
<a name="l00121"></a>00121                 sum_node&amp; c = *<span class="keyword">this</span>;
<a name="l00122"></a>00122                 task* b = c.create_child(Range(range,split()),*left_sum,right,left_sum,stuff_last);
<a name="l00123"></a>00123                 task* a = left_is_final ? NULL : c.create_child(range,*body,left,incoming,NULL);
<a name="l00124"></a>00124                 set_ref_count( (a!=NULL)+(b!=NULL) );
<a name="l00125"></a>00125                 body = NULL; 
<a name="l00126"></a>00126                 <span class="keywordflow">if</span>( a ) spawn(*b);
<a name="l00127"></a>00127                 <span class="keywordflow">else</span> a = b;
<a name="l00128"></a>00128                 <span class="keywordflow">return</span> a;
<a name="l00129"></a>00129             } <span class="keywordflow">else</span> {
<a name="l00130"></a>00130                 <span class="keywordflow">return</span> NULL;
<a name="l00131"></a>00131             }
<a name="l00132"></a>00132         }
<a name="l00133"></a>00133         <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range_,<span class="keyword">typename</span> Body_,<span class="keyword">typename</span> Partitioner_&gt;
<a name="l00134"></a>00134         <span class="keyword">friend</span> <span class="keyword">class </span>start_scan;
<a name="l00135"></a>00135 
<a name="l00136"></a>00136         <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range_,<span class="keyword">typename</span> Body_&gt;
<a name="l00137"></a>00137         <span class="keyword">friend</span> <span class="keyword">class </span>finish_scan;
<a name="l00138"></a>00138     };
<a name="l00139"></a>00139 
<a name="l00141"></a>00141 
<a name="l00142"></a>00142     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00143"></a>00143     <span class="keyword">class </span>finish_scan: <span class="keyword">public</span> task {
<a name="l00144"></a>00144         <span class="keyword">typedef</span> sum_node&lt;Range,Body&gt; sum_node_type;
<a name="l00145"></a>00145         <span class="keyword">typedef</span> final_sum&lt;Range,Body&gt; final_sum_type;
<a name="l00146"></a>00146         final_sum_type** <span class="keyword">const</span> sum;
<a name="l00147"></a>00147         sum_node_type*&amp; return_slot;
<a name="l00148"></a>00148     <span class="keyword">public</span>:
<a name="l00149"></a>00149         final_sum_type* right_zombie;
<a name="l00150"></a>00150         sum_node_type&amp; result;
<a name="l00151"></a>00151 
<a name="l00152"></a>00152         <span class="comment">/*override*/</span> task* execute() {
<a name="l00153"></a>00153             __TBB_ASSERT( result.ref_count()==(result.left!=NULL)+(result.right!=NULL), NULL );
<a name="l00154"></a>00154             <span class="keywordflow">if</span>( result.left )
<a name="l00155"></a>00155                 result.left_is_final = <span class="keyword">false</span>;
<a name="l00156"></a>00156             <span class="keywordflow">if</span>( right_zombie &amp;&amp; sum ) 
<a name="l00157"></a>00157                 ((*sum)-&gt;body).reverse_join(result.left_sum-&gt;body);
<a name="l00158"></a>00158             __TBB_ASSERT( !return_slot, NULL );
<a name="l00159"></a>00159             <span class="keywordflow">if</span>( right_zombie || result.right ) {
<a name="l00160"></a>00160                 return_slot = &amp;result;
<a name="l00161"></a>00161             } <span class="keywordflow">else</span> {
<a name="l00162"></a>00162                 destroy( result );
<a name="l00163"></a>00163             }
<a name="l00164"></a>00164             <span class="keywordflow">if</span>( right_zombie &amp;&amp; !sum &amp;&amp; !result.right ) destroy(*right_zombie);
<a name="l00165"></a>00165             <span class="keywordflow">return</span> NULL;
<a name="l00166"></a>00166         }
<a name="l00167"></a>00167 
<a name="l00168"></a>00168         finish_scan( sum_node_type*&amp; return_slot_, final_sum_type** sum_, sum_node_type&amp; result_ ) : 
<a name="l00169"></a>00169             sum(sum_),
<a name="l00170"></a>00170             return_slot(return_slot_), 
<a name="l00171"></a>00171             right_zombie(NULL),
<a name="l00172"></a>00172             result(result_)
<a name="l00173"></a>00173         {
<a name="l00174"></a>00174             __TBB_ASSERT( !return_slot, NULL );
<a name="l00175"></a>00175         }
<a name="l00176"></a>00176     };
<a name="l00177"></a>00177 
<a name="l00179"></a>00179 
<a name="l00180"></a>00180     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body, <span class="keyword">typename</span> Partitioner=simple_partitioner&gt;
<a name="l00181"></a>00181     <span class="keyword">class </span>start_scan: <span class="keyword">public</span> task {
<a name="l00182"></a>00182         <span class="keyword">typedef</span> sum_node&lt;Range,Body&gt; sum_node_type;
<a name="l00183"></a>00183         <span class="keyword">typedef</span> final_sum&lt;Range,Body&gt; final_sum_type;
<a name="l00184"></a>00184         final_sum_type* body;
<a name="l00186"></a>00186         final_sum_type** sum; 
<a name="l00187"></a>00187         sum_node_type** return_slot;
<a name="l00189"></a>00189         sum_node_type* parent_sum;
<a name="l00190"></a>00190         <span class="keywordtype">bool</span> is_final;
<a name="l00191"></a>00191         <span class="keywordtype">bool</span> is_right_child;
<a name="l00192"></a>00192         Range range;
<a name="l00193"></a>00193         <span class="keyword">typename</span> Partitioner::partition_type partition;
<a name="l00194"></a>00194         <span class="comment">/*override*/</span> task* execute();
<a name="l00195"></a>00195     <span class="keyword">public</span>:
<a name="l00196"></a>00196         start_scan( sum_node_type*&amp; return_slot_, start_scan&amp; parent_, sum_node_type* parent_sum_ ) :
<a name="l00197"></a>00197             body(parent_.body),
<a name="l00198"></a>00198             sum(parent_.sum),
<a name="l00199"></a>00199             return_slot(&amp;return_slot_),
<a name="l00200"></a>00200             parent_sum(parent_sum_),
<a name="l00201"></a>00201             is_final(parent_.is_final),
<a name="l00202"></a>00202             is_right_child(false),
<a name="l00203"></a>00203             range(parent_.range,split()),
<a name="l00204"></a>00204             partition(parent_.partition,split())
<a name="l00205"></a>00205         {
<a name="l00206"></a>00206             __TBB_ASSERT( !*return_slot, NULL );
<a name="l00207"></a>00207         }
<a name="l00208"></a>00208 
<a name="l00209"></a>00209         start_scan( sum_node_type*&amp; return_slot_, <span class="keyword">const</span> Range&amp; range_, final_sum_type&amp; body_, <span class="keyword">const</span> Partitioner&amp; partitioner_) :
<a name="l00210"></a>00210             body(&amp;body_),
<a name="l00211"></a>00211             sum(NULL),
<a name="l00212"></a>00212             return_slot(&amp;return_slot_),
<a name="l00213"></a>00213             parent_sum(NULL),
<a name="l00214"></a>00214             is_final(true),
<a name="l00215"></a>00215             is_right_child(false),
<a name="l00216"></a>00216             range(range_),
<a name="l00217"></a>00217             partition(partitioner_)
<a name="l00218"></a>00218         {
<a name="l00219"></a>00219             __TBB_ASSERT( !*return_slot, NULL );
<a name="l00220"></a>00220         }
<a name="l00221"></a>00221 
<a name="l00222"></a>00222         <span class="keyword">static</span> <span class="keywordtype">void</span> run(  <span class="keyword">const</span> Range&amp; range, Body&amp; body, <span class="keyword">const</span> Partitioner&amp; partitioner ) {
<a name="l00223"></a>00223             <span class="keywordflow">if</span>( !range.empty() ) {
<a name="l00224"></a>00224                 <span class="keyword">typedef</span> internal::start_scan&lt;Range,Body,Partitioner&gt; start_pass1_type;
<a name="l00225"></a>00225                 internal::sum_node&lt;Range,Body&gt;* root = NULL;
<a name="l00226"></a>00226                 <span class="keyword">typedef</span> internal::final_sum&lt;Range,Body&gt; final_sum_type;
<a name="l00227"></a>00227                 final_sum_type* temp_body = <span class="keyword">new</span>(<a class="code" href="a00199.html#23acb0da0afd690da797f9f882027d34">task::allocate_root</a>()) final_sum_type( body );
<a name="l00228"></a>00228                 start_pass1_type&amp; pass1 = *<span class="keyword">new</span>(<a class="code" href="a00199.html#23acb0da0afd690da797f9f882027d34">task::allocate_root</a>()) start_pass1_type(
<a name="l00229"></a>00229                     <span class="comment">/*return_slot=*/</span>root,
<a name="l00230"></a>00230                     range,
<a name="l00231"></a>00231                     *temp_body,
<a name="l00232"></a>00232                     partitioner );
<a name="l00233"></a>00233                 <a class="code" href="a00199.html#ce8ce689c26a4ddf343829bc3c73290a">task::spawn_root_and_wait</a>( pass1 );
<a name="l00234"></a>00234                 <span class="keywordflow">if</span>( root ) {
<a name="l00235"></a>00235                     root-&gt;body = temp_body;
<a name="l00236"></a>00236                     root-&gt;incoming = NULL;
<a name="l00237"></a>00237                     root-&gt;stuff_last = &amp;body;
<a name="l00238"></a>00238                     <a class="code" href="a00199.html#ce8ce689c26a4ddf343829bc3c73290a">task::spawn_root_and_wait</a>( *root );
<a name="l00239"></a>00239                 } <span class="keywordflow">else</span> {
<a name="l00240"></a>00240                     body.assign(temp_body-&gt;body);
<a name="l00241"></a>00241                     temp_body-&gt;finish_construction( range, NULL );
<a name="l00242"></a>00242                     temp_body-&gt;destroy(*temp_body);
<a name="l00243"></a>00243                 }
<a name="l00244"></a>00244             }
<a name="l00245"></a>00245         }
<a name="l00246"></a>00246     };
<a name="l00247"></a>00247 
<a name="l00248"></a>00248     <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body, <span class="keyword">typename</span> Partitioner&gt;
<a name="l00249"></a>00249     task* start_scan&lt;Range,Body,Partitioner&gt;::execute() {
<a name="l00250"></a>00250         <span class="keyword">typedef</span> internal::finish_scan&lt;Range,Body&gt; finish_pass1_type;
<a name="l00251"></a>00251         finish_pass1_type* p = parent_sum ? static_cast&lt;finish_pass1_type*&gt;( parent() ) : NULL;
<a name="l00252"></a>00252         <span class="comment">// Inspecting p-&gt;result.left_sum would ordinarily be a race condition.</span>
<a name="l00253"></a>00253         <span class="comment">// But we inspect it only if we are not a stolen task, in which case we</span>
<a name="l00254"></a>00254         <span class="comment">// know that task assigning to p-&gt;result.left_sum has completed.</span>
<a name="l00255"></a>00255         <span class="keywordtype">bool</span> treat_as_stolen = is_right_child &amp;&amp; (is_stolen_task() || body!=p-&gt;result.left_sum);
<a name="l00256"></a>00256         <span class="keywordflow">if</span>( treat_as_stolen ) {
<a name="l00257"></a>00257             <span class="comment">// Invocation is for right child that has been really stolen or needs to be virtually stolen</span>
<a name="l00258"></a>00258             p-&gt;right_zombie = body = <span class="keyword">new</span>( allocate_root() ) final_sum_type(body-&gt;body);
<a name="l00259"></a>00259             is_final = <span class="keyword">false</span>;
<a name="l00260"></a>00260         }
<a name="l00261"></a>00261         task* next_task = NULL;
<a name="l00262"></a>00262         <span class="keywordflow">if</span>( (is_right_child &amp;&amp; !treat_as_stolen) || !range.is_divisible() || partition.should_execute_range(*<span class="keyword">this</span>) ) {
<a name="l00263"></a>00263             <span class="keywordflow">if</span>( is_final )
<a name="l00264"></a>00264                 (body-&gt;body)( range, final_scan_tag() );
<a name="l00265"></a>00265             <span class="keywordflow">else</span> <span class="keywordflow">if</span>( sum )
<a name="l00266"></a>00266                 (body-&gt;body)( range, pre_scan_tag() );
<a name="l00267"></a>00267             <span class="keywordflow">if</span>( sum ) 
<a name="l00268"></a>00268                 *sum = body;
<a name="l00269"></a>00269             __TBB_ASSERT( !*return_slot, NULL );
<a name="l00270"></a>00270         } <span class="keywordflow">else</span> {
<a name="l00271"></a>00271             sum_node_type* result;
<a name="l00272"></a>00272             <span class="keywordflow">if</span>( parent_sum ) 
<a name="l00273"></a>00273                 result = <span class="keyword">new</span>(allocate_additional_child_of(*parent_sum)) sum_node_type(range,<span class="comment">/*left_is_final=*/</span>is_final);
<a name="l00274"></a>00274             <span class="keywordflow">else</span>
<a name="l00275"></a>00275                 result = <span class="keyword">new</span>(<a class="code" href="a00199.html#23acb0da0afd690da797f9f882027d34">task::allocate_root</a>()) sum_node_type(range,<span class="comment">/*left_is_final=*/</span>is_final);
<a name="l00276"></a>00276             finish_pass1_type&amp; c = *<span class="keyword">new</span>( allocate_continuation()) finish_pass1_type(*return_slot,sum,*result);
<a name="l00277"></a>00277             <span class="comment">// Split off right child</span>
<a name="l00278"></a>00278             start_scan&amp; b = *<span class="keyword">new</span>( c.allocate_child() ) start_scan( <span class="comment">/*return_slot=*/</span>result-&gt;right, *<span class="keyword">this</span>, result );
<a name="l00279"></a>00279             b.is_right_child = <span class="keyword">true</span>;    
<a name="l00280"></a>00280             <span class="comment">// Left child is recycling of *this.  Must recycle this before spawning b, </span>
<a name="l00281"></a>00281             <span class="comment">// otherwise b might complete and decrement c.ref_count() to zero, which</span>
<a name="l00282"></a>00282             <span class="comment">// would cause c.execute() to run prematurely.</span>
<a name="l00283"></a>00283             recycle_as_child_of(c);
<a name="l00284"></a>00284             c.set_ref_count(2);
<a name="l00285"></a>00285             c.spawn(b);
<a name="l00286"></a>00286             sum = &amp;result-&gt;left_sum;
<a name="l00287"></a>00287             return_slot = &amp;result-&gt;left;
<a name="l00288"></a>00288             is_right_child = <span class="keyword">false</span>;
<a name="l00289"></a>00289             next_task = <span class="keyword">this</span>;
<a name="l00290"></a>00290             parent_sum = result; 
<a name="l00291"></a>00291             __TBB_ASSERT( !*return_slot, NULL );
<a name="l00292"></a>00292         }
<a name="l00293"></a>00293         <span class="keywordflow">return</span> next_task;
<a name="l00294"></a>00294     } 
<a name="l00295"></a>00295 } <span class="comment">// namespace internal</span>
<a name="l00297"></a>00297 <span class="comment"></span>
<a name="l00298"></a>00298 <span class="comment">// Requirements on Range concept are documented in blocked_range.h</span>
<a name="l00299"></a>00299 
<a name="l00317"></a>00317 
<a name="l00319"></a>00319 
<a name="l00320"></a>00320 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00321"></a><a class="code" href="a00274.html#ged143f31dd3d96ded02ab3db915b91c7">00321</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#ged143f31dd3d96ded02ab3db915b91c7">parallel_scan</a>( <span class="keyword">const</span> Range&amp; range, Body&amp; body ) {
<a name="l00322"></a>00322     internal::start_scan&lt;Range,Body,__TBB_DEFAULT_PARTITIONER&gt;::run(range,body,__TBB_DEFAULT_PARTITIONER());
<a name="l00323"></a>00323 }
<a name="l00324"></a>00324 
<a name="l00326"></a>00326 
<a name="l00327"></a>00327 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00328"></a><a class="code" href="a00274.html#gc9fac8870b2e6365fb337014404529df">00328</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#ged143f31dd3d96ded02ab3db915b91c7">parallel_scan</a>( <span class="keyword">const</span> Range&amp; range, Body&amp; body, <span class="keyword">const</span> <a class="code" href="a00193.html">simple_partitioner</a>&amp; partitioner ) {
<a name="l00329"></a>00329     internal::start_scan&lt;Range,Body,simple_partitioner&gt;::run(range,body,partitioner);
<a name="l00330"></a>00330 }
<a name="l00331"></a>00331 
<a name="l00333"></a>00333 
<a name="l00334"></a>00334 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> Range, <span class="keyword">typename</span> Body&gt;
<a name="l00335"></a><a class="code" href="a00274.html#g62fde400a37bbca1a2fddc8e3d22f556">00335</a> <span class="keywordtype">void</span> <a class="code" href="a00274.html#ged143f31dd3d96ded02ab3db915b91c7">parallel_scan</a>( <span class="keyword">const</span> Range&amp; range, Body&amp; body, <span class="keyword">const</span> <a class="code" href="a00146.html">auto_partitioner</a>&amp; partitioner ) {
<a name="l00336"></a>00336     internal::start_scan&lt;Range,Body,auto_partitioner&gt;::run(range,body,partitioner);
<a name="l00337"></a>00337 }
<a name="l00339"></a>00339 
<a name="l00340"></a>00340 } <span class="comment">// namespace tbb</span>
<a name="l00341"></a>00341 
<a name="l00342"></a>00342 <span class="preprocessor">#endif </span><span class="comment">/* __TBB_parallel_scan_H */</span>
<a name="l00343"></a>00343 
</pre></div><hr>
<p></p>
Copyright &copy; 2005-2010 Intel Corporation.  All Rights Reserved.
<p></p>
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
registered trademarks or trademarks of Intel Corporation or its
subsidiaries in the United States and other countries.
<p></p>
* Other names and brands may be claimed as the property of others.
