OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
OgreThreadDefinesBoost.h File Reference

Go to the source code of this file.

Macros

#define OGRE_AUTO_MUTEX   mutable boost::recursive_mutex OGRE_AUTO_MUTEX_NAME
 
#define OGRE_AUTO_SHARED_MUTEX   mutable boost::recursive_mutex *OGRE_AUTO_MUTEX_NAME
 
#define OGRE_COPY_AUTO_SHARED_MUTEX(from)   assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from
 
#define OGRE_DELETE_AUTO_SHARED_MUTEX   do { assert(OGRE_AUTO_MUTEX_NAME); delete OGRE_AUTO_MUTEX_NAME; } while (0)
 
#define OGRE_LOCK_AUTO_MUTEX   boost::recursive_mutex::scoped_lock ogreAutoMutexLock(OGRE_AUTO_MUTEX_NAME)
 
#define OGRE_LOCK_AUTO_SHARED_MUTEX   assert(OGRE_AUTO_MUTEX_NAME); boost::recursive_mutex::scoped_lock ogreAutoMutexLock(*OGRE_AUTO_MUTEX_NAME)
 
#define OGRE_LOCK_MUTEX(name)   boost::recursive_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
 
#define OGRE_LOCK_MUTEX_NAMED(mutexName, lockName)   boost::recursive_mutex::scoped_lock lockName(mutexName)
 
#define OGRE_LOCK_RW_MUTEX_READ(name)   boost::shared_lock<boost::shared_mutex> OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
 
#define OGRE_LOCK_RW_MUTEX_WRITE(name)   boost::unique_lock<boost::shared_mutex> OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
 
#define OGRE_MUTEX(name)   mutable boost::recursive_mutex name
 
#define OGRE_MUTEX_CONDITIONAL(mutex)   if (mutex)
 
#define OGRE_NEW_AUTO_SHARED_MUTEX   assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = new boost::recursive_mutex()
 
#define OGRE_RW_MUTEX(name)   mutable boost::shared_mutex name
 
#define OGRE_SET_AUTO_SHARED_MUTEX_NULL   OGRE_AUTO_MUTEX_NAME = 0
 
#define OGRE_STATIC_MUTEX(name)   static boost::recursive_mutex name
 
#define OGRE_STATIC_MUTEX_INSTANCE(name)   boost::recursive_mutex name
 
#define OGRE_THREAD_CREATE(name, worker)   boost::thread* name = OGRE_NEW_T(boost::thread, MEMCATEGORY_GENERAL)(worker)
 
#define OGRE_THREAD_CURRENT_ID   boost::this_thread::get_id()
 
#define OGRE_THREAD_DESTROY(name)   OGRE_DELETE_T(name, thread, MEMCATEGORY_GENERAL)
 
#define OGRE_THREAD_HARDWARE_CONCURRENCY   boost::thread::hardware_concurrency()
 
#define OGRE_THREAD_ID_TYPE   boost::thread::id
 
#define OGRE_THREAD_NOTIFY_ALL(sync)   sync.notify_all()
 
#define OGRE_THREAD_NOTIFY_ONE(sync)   sync.notify_one()
 
#define OGRE_THREAD_POINTER(T, var)   boost::thread_specific_ptr<T> var
 
#define OGRE_THREAD_POINTER_DELETE(var)   var.reset(0)
 
#define OGRE_THREAD_POINTER_GET(var)   var.get()
 
#define OGRE_THREAD_POINTER_INIT(var)   var(&deletePtr)
 
#define OGRE_THREAD_POINTER_SET(var, expr)   var.reset(expr)
 
#define OGRE_THREAD_POINTER_VAR(T, var)   boost::thread_specific_ptr<T> var (&deletePtr<T>)
 
#define OGRE_THREAD_SLEEP(ms)   boost::this_thread::sleep(boost::posix_time::millisec(ms))
 
#define OGRE_THREAD_SYNCHRONISER(sync)   boost::condition sync
 
#define OGRE_THREAD_TYPE   boost::thread
 
#define OGRE_THREAD_WAIT(sync, mutex, lock)   sync.wait(lock)
 
#define OGRE_THREAD_WORKER_INHERIT
 
#define OGRE_THREAD_YIELD   boost::this_thread::yield()
 
#define OGRE_TOKEN_PASTE(x, y)   x ## y
 
#define OGRE_TOKEN_PASTE_EXTRA(x, y)   OGRE_TOKEN_PASTE(x, y)
 

Macro Definition Documentation

#define OGRE_AUTO_MUTEX   mutable boost::recursive_mutex OGRE_AUTO_MUTEX_NAME

Definition at line 46 of file OgreThreadDefinesBoost.h.

#define OGRE_AUTO_SHARED_MUTEX   mutable boost::recursive_mutex *OGRE_AUTO_MUTEX_NAME

Definition at line 51 of file OgreThreadDefinesBoost.h.

#define OGRE_COPY_AUTO_SHARED_MUTEX (   from)    assert(!OGRE_AUTO_MUTEX_NAME); OGRE_AUTO_MUTEX_NAME = from

Definition at line 55 of file OgreThreadDefinesBoost.h.

#define OGRE_DELETE_AUTO_SHARED_MUTEX   do { assert(OGRE_AUTO_MUTEX_NAME); delete OGRE_AUTO_MUTEX_NAME; } while (0)

Definition at line 54 of file OgreThreadDefinesBoost.h.

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

Definition at line 52 of file OgreThreadDefinesBoost.h.

#define OGRE_LOCK_MUTEX (   name)    boost::recursive_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
#define OGRE_LOCK_MUTEX_NAMED (   mutexName,
  lockName 
)    boost::recursive_mutex::scoped_lock lockName(mutexName)

Definition at line 35 of file OgreThreadDefinesBoost.h.

#define OGRE_LOCK_RW_MUTEX_READ (   name)    boost::shared_lock<boost::shared_mutex> OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
#define OGRE_LOCK_RW_MUTEX_WRITE (   name)    boost::unique_lock<boost::shared_mutex> OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
#define OGRE_MUTEX (   name)    mutable boost::recursive_mutex name

Definition at line 47 of file OgreThreadDefinesBoost.h.

#define OGRE_MUTEX_CONDITIONAL (   mutex)    if (mutex)

Definition at line 57 of file OgreThreadDefinesBoost.h.

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

Definition at line 53 of file OgreThreadDefinesBoost.h.

#define OGRE_RW_MUTEX (   name)    mutable boost::shared_mutex name

Definition at line 62 of file OgreThreadDefinesBoost.h.

#define OGRE_SET_AUTO_SHARED_MUTEX_NULL   OGRE_AUTO_MUTEX_NAME = 0

Definition at line 56 of file OgreThreadDefinesBoost.h.

#define OGRE_STATIC_MUTEX (   name)    static boost::recursive_mutex name

Definition at line 48 of file OgreThreadDefinesBoost.h.

#define OGRE_STATIC_MUTEX_INSTANCE (   name)    boost::recursive_mutex name

Definition at line 49 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_CREATE (   name,
  worker 
)    boost::thread* name = OGRE_NEW_T(boost::thread, MEMCATEGORY_GENERAL)(worker)

Definition at line 74 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_CURRENT_ID   boost::this_thread::get_id()

Definition at line 77 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_DESTROY (   name)    OGRE_DELETE_T(name, thread, MEMCATEGORY_GENERAL)

Definition at line 75 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_HARDWARE_CONCURRENCY   boost::thread::hardware_concurrency()

Definition at line 76 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_ID_TYPE   boost::thread::id

Definition at line 80 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_NOTIFY_ALL (   sync)    sync.notify_all()

Definition at line 60 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_NOTIFY_ONE (   sync)    sync.notify_one()

Definition at line 59 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_POINTER (   T,
  var 
)    boost::thread_specific_ptr<T> var

Definition at line 66 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_POINTER_DELETE (   var)    var.reset(0)

Definition at line 71 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_POINTER_GET (   var)    var.get()

Definition at line 70 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_POINTER_INIT (   var)    var(&deletePtr)

Definition at line 67 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_POINTER_SET (   var,
  expr 
)    var.reset(expr)

Definition at line 69 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_POINTER_VAR (   T,
  var 
)    boost::thread_specific_ptr<T> var (&deletePtr<T>)

Definition at line 68 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_SLEEP (   ms)    boost::this_thread::sleep(boost::posix_time::millisec(ms))

Definition at line 37 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_SYNCHRONISER (   sync)    boost::condition sync

Definition at line 36 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_TYPE   boost::thread

Definition at line 73 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_WAIT (   sync,
  mutex,
  lock 
)    sync.wait(lock)

Definition at line 58 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_WORKER_INHERIT

Definition at line 78 of file OgreThreadDefinesBoost.h.

#define OGRE_THREAD_YIELD   boost::this_thread::yield()

Definition at line 81 of file OgreThreadDefinesBoost.h.

#define OGRE_TOKEN_PASTE (   x,
 
)    x ## y

Definition at line 29 of file OgreThreadDefinesBoost.h.

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

Definition at line 30 of file OgreThreadDefinesBoost.h.