OGRE  1.9.0
OgreThreadDefinesTBB.h File Reference

Go to the source code of this file.

Macros

#define OGRE_AUTO_MUTEX   mutable tbb::recursive_mutex OGRE_AUTO_MUTEX_NAME
 
#define OGRE_AUTO_SHARED_MUTEX   mutable tbb::recursive_mutex *OGRE_AUTO_MUTEX_NAME
 
#define OGRE_COPY_AUTO_SHARED_MUTEX(from)
 
#define OGRE_DELETE_AUTO_SHARED_MUTEX   assert(OGRE_AUTO_MUTEX_NAME); delete OGRE_AUTO_MUTEX_NAME
 
#define OGRE_LOCK_AUTO_MUTEX   tbb::recursive_mutex::scoped_lock ogreAutoMutexLock(OGRE_AUTO_MUTEX_NAME)
 
#define OGRE_LOCK_AUTO_SHARED_MUTEX   assert(OGRE_AUTO_MUTEX_NAME); tbb::recursive_mutex::scoped_lock ogreAutoMutexLock(*OGRE_AUTO_MUTEX_NAME)
 
#define OGRE_LOCK_MUTEX(name)
 
#define OGRE_LOCK_MUTEX_NAMED(mutexName, lockName)
 
#define OGRE_LOCK_RW_MUTEX_READ(name)
 
#define OGRE_LOCK_RW_MUTEX_WRITE(name)
 
#define OGRE_MUTEX(name)
 
#define OGRE_MUTEX_CONDITIONAL(mutex)
 
#define OGRE_NEW_AUTO_SHARED_MUTEX   assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = new tbb::recursive_mutex()
 
#define OGRE_RW_MUTEX(name)
 
#define OGRE_SET_AUTO_SHARED_MUTEX_NULL   OGRE_AUTO_MUTEX_NAME = 0
 
#define OGRE_STATIC_MUTEX(name)
 
#define OGRE_STATIC_MUTEX_INSTANCE(name)
 
#define OGRE_THREAD_CURRENT_ID   tbb::this_tbb_thread::get_id()
 
#define OGRE_THREAD_HARDWARE_CONCURRENCY   tbb::task_scheduler_init::default_num_threads()
 
#define OGRE_THREAD_ID_TYPE   tbb::tbb_thread::id
 
#define OGRE_THREAD_POINTER(T, var)
 
#define OGRE_THREAD_POINTER_DELETE(var)
 
#define OGRE_THREAD_POINTER_GET(var)
 
#define OGRE_THREAD_POINTER_INIT(var)
 
#define OGRE_THREAD_POINTER_SET(var, expr)
 
#define OGRE_THREAD_POINTER_VAR(T, var)
 
#define OGRE_THREAD_SLEEP(ms)
 
#define OGRE_THREAD_WORKER_INHERIT
 
#define OGRE_THREAD_YIELD   tbb::this_tbb_thread::yield()
 
#define OGRE_TOKEN_PASTE(x, y)
 
#define OGRE_TOKEN_PASTE_EXTRA(x, y)
 

Macro Definition Documentation

◆ OGRE_AUTO_MUTEX

#define OGRE_AUTO_MUTEX   mutable tbb::recursive_mutex OGRE_AUTO_MUTEX_NAME

Definition at line 31 of file OgreThreadDefinesTBB.h.

◆ OGRE_AUTO_SHARED_MUTEX

#define OGRE_AUTO_SHARED_MUTEX   mutable tbb::recursive_mutex *OGRE_AUTO_MUTEX_NAME

Definition at line 39 of file OgreThreadDefinesTBB.h.

◆ OGRE_COPY_AUTO_SHARED_MUTEX

#define OGRE_COPY_AUTO_SHARED_MUTEX ( from)
Value:
#define OGRE_AUTO_MUTEX_NAME

Definition at line 43 of file OgreThreadDefinesTBB.h.

◆ OGRE_DELETE_AUTO_SHARED_MUTEX

#define OGRE_DELETE_AUTO_SHARED_MUTEX   assert(OGRE_AUTO_MUTEX_NAME); delete OGRE_AUTO_MUTEX_NAME

Definition at line 42 of file OgreThreadDefinesTBB.h.

◆ OGRE_LOCK_AUTO_MUTEX

#define OGRE_LOCK_AUTO_MUTEX   tbb::recursive_mutex::scoped_lock ogreAutoMutexLock(OGRE_AUTO_MUTEX_NAME)

Definition at line 32 of file OgreThreadDefinesTBB.h.

◆ OGRE_LOCK_AUTO_SHARED_MUTEX

#define OGRE_LOCK_AUTO_SHARED_MUTEX   assert(OGRE_AUTO_MUTEX_NAME); tbb::recursive_mutex::scoped_lock ogreAutoMutexLock(*OGRE_AUTO_MUTEX_NAME)

Definition at line 40 of file OgreThreadDefinesTBB.h.

◆ OGRE_LOCK_MUTEX

#define OGRE_LOCK_MUTEX ( name)
Value:
tbb::recursive_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
#define OGRE_TOKEN_PASTE_EXTRA(x, y)

Definition at line 36 of file OgreThreadDefinesTBB.h.

◆ OGRE_LOCK_MUTEX_NAMED

#define OGRE_LOCK_MUTEX_NAMED ( mutexName,
lockName )
Value:
tbb::recursive_mutex::scoped_lock lockName(mutexName)

Definition at line 37 of file OgreThreadDefinesTBB.h.

◆ OGRE_LOCK_RW_MUTEX_READ

#define OGRE_LOCK_RW_MUTEX_READ ( name)
Value:
tbb::queuing_rw_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name, false)

Definition at line 48 of file OgreThreadDefinesTBB.h.

◆ OGRE_LOCK_RW_MUTEX_WRITE

#define OGRE_LOCK_RW_MUTEX_WRITE ( name)
Value:
tbb::queuing_rw_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name, true)

Definition at line 49 of file OgreThreadDefinesTBB.h.

◆ OGRE_MUTEX

#define OGRE_MUTEX ( name)
Value:
mutable tbb::recursive_mutex name

Definition at line 33 of file OgreThreadDefinesTBB.h.

◆ OGRE_MUTEX_CONDITIONAL

#define OGRE_MUTEX_CONDITIONAL ( mutex)
Value:
if (mutex)

Definition at line 45 of file OgreThreadDefinesTBB.h.

◆ OGRE_NEW_AUTO_SHARED_MUTEX

#define OGRE_NEW_AUTO_SHARED_MUTEX   assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = new tbb::recursive_mutex()

Definition at line 41 of file OgreThreadDefinesTBB.h.

◆ OGRE_RW_MUTEX

#define OGRE_RW_MUTEX ( name)
Value:
mutable tbb::queuing_rw_mutex name

Definition at line 47 of file OgreThreadDefinesTBB.h.

◆ OGRE_SET_AUTO_SHARED_MUTEX_NULL

#define OGRE_SET_AUTO_SHARED_MUTEX_NULL   OGRE_AUTO_MUTEX_NAME = 0

Definition at line 44 of file OgreThreadDefinesTBB.h.

◆ OGRE_STATIC_MUTEX

#define OGRE_STATIC_MUTEX ( name)
Value:
static tbb::recursive_mutex name

Definition at line 34 of file OgreThreadDefinesTBB.h.

◆ OGRE_STATIC_MUTEX_INSTANCE

#define OGRE_STATIC_MUTEX_INSTANCE ( name)
Value:
tbb::recursive_mutex name

Definition at line 35 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_CURRENT_ID

#define OGRE_THREAD_CURRENT_ID   tbb::this_tbb_thread::get_id()

Definition at line 59 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_HARDWARE_CONCURRENCY

#define OGRE_THREAD_HARDWARE_CONCURRENCY   tbb::task_scheduler_init::default_num_threads()

Definition at line 58 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_ID_TYPE

#define OGRE_THREAD_ID_TYPE   tbb::tbb_thread::id

Definition at line 62 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_POINTER

#define OGRE_THREAD_POINTER ( T,
var )
Value:
tbb::enumerable_thread_specific<SharedPtr<T> > var

Definition at line 51 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_POINTER_DELETE

#define OGRE_THREAD_POINTER_DELETE ( var)
Value:
var.local().setNull()

Definition at line 56 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_POINTER_GET

#define OGRE_THREAD_POINTER_GET ( var)
Value:
var.local().get()

Definition at line 54 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_POINTER_INIT

#define OGRE_THREAD_POINTER_INIT ( var)
Value:
var()

Definition at line 52 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_POINTER_SET

#define OGRE_THREAD_POINTER_SET ( var,
expr )
Value:
do { var.local().setNull(); var.local().bind(expr); } while (0)

Definition at line 55 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_POINTER_VAR

#define OGRE_THREAD_POINTER_VAR ( T,
var )
Value:
tbb::enumerable_thread_specific<SharedPtr<T> > var

Definition at line 53 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_SLEEP

#define OGRE_THREAD_SLEEP ( ms)
Value:
tbb::this_tbb_thread::sleep(tbb::tick_count::interval_t(double(ms)/1000))

Definition at line 60 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_WORKER_INHERIT

#define OGRE_THREAD_WORKER_INHERIT

Definition at line 61 of file OgreThreadDefinesTBB.h.

◆ OGRE_THREAD_YIELD

#define OGRE_THREAD_YIELD   tbb::this_tbb_thread::yield()

Definition at line 63 of file OgreThreadDefinesTBB.h.

◆ OGRE_TOKEN_PASTE

#define OGRE_TOKEN_PASTE ( x,
y )
Value:
x ## y

Definition at line 29 of file OgreThreadDefinesTBB.h.

◆ OGRE_TOKEN_PASTE_EXTRA

#define OGRE_TOKEN_PASTE_EXTRA ( x,
y )
Value:
#define OGRE_TOKEN_PASTE(x, y)

Definition at line 30 of file OgreThreadDefinesTBB.h.