7 #ifndef __tbb_WorkTbb_h__ 8 #define __tbb_WorkTbb_h__ 27 void initialize(
void);
29 virtual sp<WorkI> assignment(
void) {
return m_spWorkI; }
30 virtual void run(
sp<WorkI> a_spWorkI,U32 a_threads,
32 virtual void stop(
void) {}
34 virtual BWORD threadsAlive(
void)
const {
return 0; }
36 virtual BWORD willWaitForJobs(
void)
const {
return FALSE; }
37 virtual void waitForJobs(BWORD a_wait) {}
47 m_spSpannedRange(a_spSpannedRange),
50 Range(
const Range& a_rRange):
52 a_rRange.m_spSpannedRange),
53 m_grain(a_rRange.m_grain) {}
55 Range(Range& a_rRange,tbb::split);
59 bool is_divisible(
void)
const 62 m_spSpannedRange->atomicCount()+
63 m_spSpannedRange->nonAtomic()
65 return (pieces>m_grain);
68 bool empty(
void)
const 69 {
return m_spSpannedRange->empty(); }
72 {
return m_spSpannedRange; }
87 Body(
const Body& a_rBody):
88 m_spWorkI(a_rBody.m_spWorkI),
89 m_stage(a_rBody.m_stage) {}
93 void operator()(Range& a_rRange)
const 97 m_spWorkI->run(
id,a_rRange.spannedRange(),m_stage);
111 #endif // __tbb_WorkTbb_h__ kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Execute a SpannedRange with TBB.
Definition: WorkTbb.h:20
Execute a Range.
Definition: WorkForceI.h:22
Automatically reference-counted string container.
Definition: String.h:128
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53