12 #include "RConfigure.h"    18 #include "tbb/task_group.h"    21 #include <type_traits>    34 namespace Experimental {
    44       throw std::runtime_error(
"Implicit parallelism not enabled. Cannot instantiate a TTaskGroup.");
    52    *
this = std::move(other);
    58    other.fTaskContainer = 
nullptr;
 TTaskGroup & operator=(TTaskGroup &&other)
 
Namespace for new ROOT classes and functions. 
 
void Wait()
Wait until all submitted items of work are completed. 
 
std::atomic< bool > fCanRun
 
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
 
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 * TaskContainerPtr_t
 
Bool_t IsImplicitMTEnabled()
Returns true if the implicit multi-threading in ROOT is enabled. 
 
void Cancel()
Cancel all submitted tasks immediately. 
 
TaskContainerPtr_t fTaskContainer
Shield completely from implementation.