[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/HibsStatement/taskflow/master/examples/parallel_for.cpp [Back]  [Original]

// This program demonstrates loop-based parallelism using:
//   + STL-styled iterators
//   + plain integral indices

#include 
#include 

// Procedure: for_each
void for_each(int N) {

  tf::Executor executor;
  tf::Taskflow taskflow;

  std::vector range(N);
  std::iota(range.begin(), range.end(), 0);

  taskflow.for_each(range.begin(), range.end(), [&] (int i) {
    printf("for_each on container item: %d\n", i);
  }, tf::StaticPartitioner());

  executor.run(taskflow).get();
}

// Procedure: for_each_index
void for_each_index(int N) {

  tf::Executor executor;
  tf::Taskflow taskflow;

  // [0, N) with a step size of 2
  taskflow.for_each_index(0, N, 2, [] (int i) {
    printf("for_each_index on index: %d\n", i);
  });

  executor.run(taskflow).wait();

  // [0, N) with a step size of 2 using tf::IndexRange
  tf::IndexRange range(0, N, 2);
  
  taskflow.for_each_index(range, [](tf::IndexRange subrange) {
    for(int i=subrange.begin(); i

Web Proxy Viewer  |  New URL  |  Original Page