22#if defined (_MSC_VER) && _MSC_VER >= 1600
24#define BT_OVERRIDE override
102 virtual void forLoop(
int iBegin,
int iEnd )
const = 0;
#define SIMD_FORCE_INLINE
btITaskScheduler * btGetTBBTaskScheduler()
void btMutexLock(btSpinMutex *mutex)
void btMutexUnlock(btSpinMutex *mutex)
btITaskScheduler * btGetPPLTaskScheduler()
void btResetThreadIndexCounter()
bool btThreadsAreRunning()
btITaskScheduler * btGetOpenMPTaskScheduler()
unsigned int btGetCurrentThreadIndex()
bool btMutexTryLock(btSpinMutex *mutex)
void btSetTaskScheduler(btITaskScheduler *ts)
btITaskScheduler * btGetTaskScheduler()
btITaskScheduler * btGetSequentialTaskScheduler()
const unsigned int BT_MAX_THREAD_COUNT
void btParallelFor(int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)
virtual ~btIParallelForBody()
virtual void forLoop(int iBegin, int iEnd) const =0
btITaskScheduler(const char *name)
virtual int getNumThreads() const =0
unsigned int m_savedThreadCounter
virtual int getMaxNumThreads() const =0
virtual void parallelFor(int iBegin, int iEnd, int grainSize, const btIParallelForBody &body)=0
virtual void deactivate()
virtual void setNumThreads(int numThreads)=0
const char * getName() const
virtual ~btITaskScheduler()
btSpinMutex – lightweight spin-mutex implemented with atomic ops, never puts a thread to sleep becaus...