You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<spanclass="p">}</span></pre><p>We support only integer-based range. The range can go positive or negative direction.</p><preclass="m-code"><spanclass="n">taskflow</span><spanclass="p">.</span><spanclass="n">for_each_index</span><spanclass="p">(</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="mi">2</span><spanclass="p">,</span><spanclass="p">[](</span><spanclass="kt">int</span><spanclass="n">i</span><spanclass="p">)</span><spanclass="p">{</span><spanclass="p">});</span><spanclass="c1">// loop 50 items with a positive step</span>
69
-
<spanclass="n">taskflow</span><spanclass="p">.</span><spanclass="n">for_each_index</span><spanclass="p">(</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="mi">-2</span><spanclass="p">,</span><spanclass="p">[](</span><spanclass="kt">int</span><spanclass="n">i</span><spanclass="p">)</span><spanclass="p">{</span><spanclass="p">});</span><spanclass="c1">// loop 50 items with a negative step</span></pre><p>Notice that either positive or negative direction is defined in terms of the range, <code>[first, last)</code>, where <code>end</code> is excluded. In the positive case, the 50 items are 0, 2, 4, 6, 8, ..., 96, 98. In the negative case, the 50 items are 100, 98, 96, 04, ... 4, 2. An example of the Taskflow graph for the positive case under 12 workers is depicted below:</p><divclass="m-graph"><svgstyle="width: 70.500rem; height: 7.250rem;" viewBox="0.00 0.00 1128.36 116.00">
68
+
<spanclass="p">}</span></pre><p>We support only integer-based range. The range can go positive or negative direction.</p><preclass="m-code"><spanclass="n">taskflow</span><spanclass="p">.</span><spanclass="n">for_each_index</span><spanclass="p">(</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="mi">2</span><spanclass="p">,</span><spanclass="p">[](</span><spanclass="kt">int</span><spanclass="n">i</span><spanclass="p">)</span><spanclass="p">{</span><spanclass="p">});</span><spanclass="c1">// 50 loops with a + step</span>
69
+
<spanclass="n">taskflow</span><spanclass="p">.</span><spanclass="n">for_each_index</span><spanclass="p">(</span><spanclass="mi">100</span><spanclass="p">,</span><spanclass="mi">0</span><spanclass="p">,</span><spanclass="mi">-2</span><spanclass="p">,</span><spanclass="p">[](</span><spanclass="kt">int</span><spanclass="n">i</span><spanclass="p">)</span><spanclass="p">{</span><spanclass="p">});</span><spanclass="c1">// 50 loops with a - step</span></pre><p>Notice that either positive or negative direction is defined in terms of the range, <code>[first, last)</code>, where <code>end</code> is excluded. In the positive case, the 50 items are 0, 2, 4, 6, 8, ..., 96, 98. In the negative case, the 50 items are 100, 98, 96, 04, ... 4, 2. An example of the Taskflow graph for the positive case under 12 workers is depicted below:</p><divclass="m-graph"><svgstyle="width: 70.500rem; height: 7.250rem;" viewBox="0.00 0.00 1128.36 116.00">
<spanclass="n">std</span><spanclass="o">::</span><spanclass="n">cout</span><spanclass="o"><<</span><spanclass="s">"parallel iteration on index "</span><spanclass="o"><<</span><spanclass="n">vec</span><spanclass="p">[</span><spanclass="n">i</span><spanclass="p">]</span><spanclass="o"><<</span><spanclass="sc">'\n'</span><spanclass="p">;</span>
<spanclass="n">std</span><spanclass="o">::</span><spanclass="n">cout</span><spanclass="o"><<</span><spanclass="s">"parallel iteration on index "</span><spanclass="o"><<</span><spanclass="n">vec</span><spanclass="p">[</span><spanclass="n">i</span><spanclass="p">]</span><spanclass="o"><<</span><spanclass="sc">'\n'</span><spanclass="p">;</span>
211
+
<spanclass="p">}</span>
212
+
<spanclass="p">);</span>
211
213
212
214
<spanclass="c1">// wrong! must use std::ref, or first and last are captured by copy</span>
213
215
<spanclass="c1">// auto pf = taskflow.for_each_index(first, last, 1, [&](int i) {</span>
0 commit comments