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