23#ifndef ROOT_RTaskArena
24#define ROOT_RTaskArena
26#include "RConfigure.h"
32# if !defined(__ROOTCLING__) && !defined(G__DICTIONARY)
33# error "Cannot use ROOT::Internal::RTaskArenaWrapper if build option imt=OFF."
42class ROpaqueTaskArena;
70 friend std::shared_ptr<ROOT::Internal::RTaskArenaWrapper>
GetGlobalTaskArena(
unsigned maxConcurrency);
83std::shared_ptr<ROOT::Internal::RTaskArenaWrapper>
GetGlobalTaskArena(
unsigned maxConcurrency = 0);
Wrapper for tbb::task_arena.
ROOT::ROpaqueTaskArena & Access()
Provides access to the wrapped tbb::task_arena.
RTaskArenaWrapper(unsigned maxConcurrency=0)
Initializes the tbb::task_arena within RTaskArenaWrapper.
friend std::shared_ptr< ROOT::Internal::RTaskArenaWrapper > GetGlobalTaskArena(unsigned maxConcurrency)
Factory function returning a shared pointer to the instance of the global RTaskArenaWrapper.
static unsigned fNWorkers
static unsigned TaskArenaSize()
std::unique_ptr< ROOT::ROpaqueTaskArena > fTBBArena
std::shared_ptr< ROOT::Internal::RTaskArenaWrapper > GetGlobalTaskArena(unsigned maxConcurrency=0)
Factory function returning a shared pointer to the instance of the global RTaskArenaWrapper.
int LogicalCPUBandwithControl()
Returns the available number of logical cores.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...