MeshLib C++ Docs
Loading...
Searching...
No Matches
MRTbbTaskArenaAndGroup.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRPch/MRTBB.h"
4#include "MRPch/MRBindingMacros.h"
5
6namespace MR
7{
10
11
16{
17 tbb::task_arena arena;
18 tbb::task_group group;
19
21 template<typename F>
22 void execute( F&& f )
23 {
24 arena.execute( [this, f]()
25 {
26 group.run( [f]
27 {
28 f();
29 } );
30 } );
31 }
32
35 void wait()
36 {
37 arena.execute( [this]
38 {
39 group.wait();
40 } );
41 }
42};
43
44}
tbb::task_group group
Definition MRTbbTaskArenaAndGroup.h:18
tbb::task_arena arena
Definition MRTbbTaskArenaAndGroup.h:17
void execute(F &&f)
runs given function within this task group and task arena
Definition MRTbbTaskArenaAndGroup.h:22
void wait()
Definition MRTbbTaskArenaAndGroup.h:35
std::array< Vector3f, 3 > MR_BIND_IGNORE
Definition MRMeshBuilderTypes.h:13
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRTbbTaskArenaAndGroup.h:16