| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Macros
OgreThreadDefinesBoost.h File Reference

## 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_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_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_SLEEP(ms) boost::this_thread::sleep(boost::posix_time::millisec(ms))
#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)
#define | OGRE_WQ_LOCK_MUTEX(name) boost::recursive_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
#define | OGRE_WQ_LOCK_MUTEX_NAMED(mutexName, lockName) boost::recursive_mutex::scoped_lock lockName(mutexName)
#define | OGRE_WQ_LOCK_RW_MUTEX_READ(name) boost::shared_lock<boost::shared_mutex> OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
#define | OGRE_WQ_LOCK_RW_MUTEX_WRITE(name) boost::unique_lock<boost::shared_mutex> OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)
#define | OGRE_WQ_MUTEX(name) mutable boost::recursive_mutex name
#define | OGRE_WQ_RW_MUTEX(name) mutable boost::shared_mutex name
#define | OGRE_WQ_THREAD_SYNCHRONISER(sync) boost::condition sync

## Macro Definition Documentation

## ◆ OGRE_TOKEN_PASTE

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

## ◆ OGRE_TOKEN_PASTE_EXTRA

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

## ◆ OGRE_THREAD_TYPE

#define OGRE_THREAD_TYPE boost::thread

## ◆ OGRE_THREAD_CREATE

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

## ◆ OGRE_THREAD_DESTROY

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

## ◆ OGRE_THREAD_CURRENT_ID

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

## ◆ OGRE_THREAD_HARDWARE_CONCURRENCY

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

## ◆ OGRE_THREAD_WORKER_INHERIT

#define OGRE_THREAD_WORKER_INHERIT

## ◆ OGRE_THREAD_WAIT

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

## ◆ OGRE_THREAD_NOTIFY_ONE

#define OGRE_THREAD_NOTIFY_ONE | ( |  | sync | ) | sync.notify_one()

## ◆ OGRE_THREAD_NOTIFY_ALL

#define OGRE_THREAD_NOTIFY_ALL | ( |  | sync | ) | sync.notify_all()

## ◆ OGRE_WQ_RW_MUTEX

#define OGRE_WQ_RW_MUTEX | ( |  | name | ) | mutable boost::shared_mutex name

## ◆ OGRE_WQ_LOCK_RW_MUTEX_READ

#define OGRE_WQ_LOCK_RW_MUTEX_READ | ( |  | name | ) | boost::shared_lock<boost::shared_mutex> OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)

## ◆ OGRE_WQ_LOCK_RW_MUTEX_WRITE

#define OGRE_WQ_LOCK_RW_MUTEX_WRITE | ( |  | name | ) | boost::unique_lock<boost::shared_mutex> OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)

## ◆ OGRE_WQ_MUTEX

#define OGRE_WQ_MUTEX | ( |  | name | ) | mutable boost::recursive_mutex name

## ◆ OGRE_WQ_LOCK_MUTEX

#define OGRE_WQ_LOCK_MUTEX | ( |  | name | ) | boost::recursive_mutex::scoped_lock OGRE_TOKEN_PASTE_EXTRA(ogrenameLock, __LINE__) (name)

## ◆ OGRE_WQ_LOCK_MUTEX_NAMED

#define OGRE_WQ_LOCK_MUTEX_NAMED | ( |  | mutexName,
|  |  | lockName
| ) |  | boost::recursive_mutex::scoped_lock lockName(mutexName)

## ◆ OGRE_WQ_THREAD_SYNCHRONISER

#define OGRE_WQ_THREAD_SYNCHRONISER | ( |  | sync | ) | boost::condition sync

## ◆ OGRE_LOCK_AUTO_MUTEX

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

Referenced by Ogre::Pool< ResourcePtr >::addItem(), Ogre::Pool< ResourcePtr >::clear(), Ogre::NameGenerator::generate(), Ogre::NameGenerator::getNext(), Ogre::Pool< ResourcePtr >::removeItem(), Ogre::NameGenerator::reset(), and Ogre::NameGenerator::setNext().

## ◆ OGRE_THREAD_SLEEP

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

## ◆ OGRE_AUTO_MUTEX

#define OGRE_AUTO_MUTEX mutable boost::recursive_mutex OGRE_AUTO_MUTEX_NAME

## ◆ OGRE_STATIC_MUTEX

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

## ◆ OGRE_STATIC_MUTEX_INSTANCE

#define OGRE_STATIC_MUTEX_INSTANCE | ( |  | name | ) | boost::recursive_mutex name

## ◆ OGRE_AUTO_SHARED_MUTEX

#define OGRE_AUTO_SHARED_MUTEX mutable boost::recursive_mutex *OGRE_AUTO_MUTEX_NAME

## ◆ OGRE_LOCK_AUTO_SHARED_MUTEX

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

## ◆ OGRE_NEW_AUTO_SHARED_MUTEX

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

## ◆ OGRE_DELETE_AUTO_SHARED_MUTEX

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

## ◆ OGRE_COPY_AUTO_SHARED_MUTEX

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

## ◆ OGRE_SET_AUTO_SHARED_MUTEX_NULL

#define OGRE_SET_AUTO_SHARED_MUTEX_NULL OGRE_AUTO_MUTEX_NAME = 0

## ◆ OGRE_MUTEX_CONDITIONAL

#define OGRE_MUTEX_CONDITIONAL | ( |  | mutex | ) | if (mutex)

## ◆ OGRE_THREAD_ID_TYPE

#define OGRE_THREAD_ID_TYPE boost::thread::id

## ◆ OGRE_THREAD_YIELD

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