1#ifndef ROOT_INTERNAL_IMTUTILS
2#define ROOT_INTERNAL_IMTUTILS
22 virtual std::unique_ptr<RAbstractTBBRangeImpl>
SplitWork() = 0;
Abstract implementation of the oneAPI Range requirements.
RAbstractTBBRangeImpl & operator=(RAbstractTBBRangeImpl &&)=default
virtual std::unique_ptr< RAbstractTBBRangeImpl > SplitWork()=0
RAbstractTBBRangeImpl(const RAbstractTBBRangeImpl &)=default
virtual bool IsDivisible() const =0
RAbstractTBBRangeImpl & operator=(const RAbstractTBBRangeImpl &)=default
virtual ~RAbstractTBBRangeImpl()=default
RAbstractTBBRangeImpl()=default
virtual bool Empty() const =0
RAbstractTBBRangeImpl(RAbstractTBBRangeImpl &&)=default
This class provides a simple interface to execute the same task multiple times in parallel threads,...
void ParallelFor(ROOT::TThreadExecutor &pool, std::unique_ptr< RAbstractTBBRangeImpl > rangeImpl, const std::function< void(const RAbstractTBBRangeImpl &)> &body)