12#ifndef ROOT_TTaskGroup
13#define ROOT_TTaskGroup
21class RTaskArenaWrapper;
24namespace Experimental {
36 std::shared_ptr<ROOT::Internal::RTaskArenaWrapper>
fTaskArenaW;
48 void Run(
const std::function<
void(
void)> &closure);
A class to manage the asynchronous execution of work items.
std::shared_ptr< ROOT::Internal::RTaskArenaWrapper > fTaskArenaW
void ExecuteInIsolation(const std::function< void(void)> &operation)
Run operation in the internal task arena to implement work isolation, i.e.
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(const TTaskGroup &)=delete
TTaskGroup & operator=(TTaskGroup &&other)
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.