12#include "RConfigure.h"
18#include "tbb/task_group.h"
19#include "tbb/task_arena.h"
41 return (tbb::task_group *)
p;
48namespace Experimental {
60 throw std::runtime_error(
"Implicit parallelism not enabled. Cannot instantiate a TTaskGroup.");
68 *
this = std::move(other);
74 other.fTaskContainer =
nullptr;
winID h TVirtualViewer3D TVirtualGLPainter p
A class to manage the asynchronous execution of work items.
void Run(const std::function< void(void)> &closure)
Add to the group an item of work which will be ran asynchronously.
void Wait()
Wait until all submitted items of work are completed.
void Cancel()
Cancel all submitted tasks immediately.
TTaskGroup & operator=(TTaskGroup &&other)
std::atomic< bool > fCanRun
tbb::task_group * CastToTG(void *p)
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
Bool_t IsImplicitMTEnabled()
Returns true if the implicit multi-threading in ROOT is enabled.