Symphony Of Empires
parallel_for.hpp
Go to the documentation of this file.
1
// Eng3D - General purpouse game engine
2
// Copyright (C) 2022, Eng3D contributors
3
//
4
// This program is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// This program is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with this program. If not, see <https://www.gnu.org/licenses/>.
16
//
17
// ----------------------------------------------------------------------------
18
// Name:
19
// parallel_for.hpp
20
//
21
// Abstract:
22
// Does important stuff.
23
// ----------------------------------------------------------------------------
24
25
#pragma once
26
27
#include <ranges>
28
#include <
tbb/blocked_range.hpp
>
29
30
namespace
tbb
{
31
template
<
typename
T,
typename
F>
32
void
parallel_for
(T range, F&& func)
33
{
34
func(std::ranges::make_iterator_range(range.first, range.last));
35
}
36
37
template
<
typename
It,
typename
F>
38
void
parallel_for
(It first, It last, F&& func)
39
{
40
for
(
auto
it = first; it != last; it++)
41
func(*it);
42
}
43
}
blocked_range.hpp
tbb
Definition:
blocked_range.hpp:27
tbb::parallel_for
void parallel_for(T range, F &&func)
Definition:
parallel_for.hpp:32
eng3d
faketbb
tbb
parallel_for.hpp
Generated by
1.9.1