diff --git a/AI/Nullkiller2/pforeach.h b/AI/Nullkiller2/pforeach.h index c13cbe409..efe4e2f27 100644 --- a/AI/Nullkiller2/pforeach.h +++ b/AI/Nullkiller2/pforeach.h @@ -6,45 +6,28 @@ namespace NK2AI { -// template -// void pforeachTilePos(const int3 & mapSize, TFunc fn) -// { -// for(int z = 0; z < mapSize.z; ++z) -// { -// tbb::parallel_for(tbb::blocked_range(0, mapSize.x), [&](const tbb::blocked_range & r) -// { -// int3 pos(0, 0, z); -// -// for(pos.x = r.begin(); pos.x != r.end(); ++pos.x) -// { -// for(pos.y = 0; pos.y < mapSize.y; ++pos.y) -// { -// fn(pos); -// } -// } -// }); -// } -// } - template void pforeachTilePaths(const int3 & mapSize, const Nullkiller * aiNk, TFunc fn) { for(int z = 0; z < mapSize.z; ++z) { - tbb::parallel_for(tbb::blocked_range(0, mapSize.x), [&](const tbb::blocked_range & r) - { - int3 pos(0, 0, z); - std::vector paths; - - for(pos.x = r.begin(); pos.x != r.end(); ++pos.x) + tbb::parallel_for( + tbb::blocked_range(0, mapSize.x), + [&](const tbb::blocked_range & r) { - for(pos.y = 0; pos.y < mapSize.y; ++pos.y) + int3 pos(0, 0, z); + std::vector paths; + + for(pos.x = r.begin(); pos.x != r.end(); ++pos.x) { - aiNk->pathfinder->calculatePathInfo(paths, pos); - fn(pos, paths); + for(pos.y = 0; pos.y < mapSize.y; ++pos.y) + { + aiNk->pathfinder->calculatePathInfo(paths, pos); + fn(pos, paths); + } } } - }); + ); } }