Om  1.0.0
A universal framework for multimedia simulation
Functions
om::threads::atomic Namespace Reference

Functions

template<typename T >
readAndSet (T &operand, T value)
 Atomically set the operand to the given value and return the previous operand value. More...
 
template<typename T >
addAndRead (T &operand, T value)
 
template<typename T >
incrementAndRead (T &operand)
 
template<typename T >
subAndRead (T &operand, T value)
 
template<typename T >
decrementAndRead (T &operand)
 
template<typename T >
orAndRead (T &operand, T value)
 
template<typename T >
andAndRead (T &operand, T value)
 
template<typename T >
xorAndRead (T &operand, T value)
 
template<typename T >
nandAndRead (T &operand, T value)
 
template<typename T >
readAndIncrement (T &operand)
 
template<typename T >
readAndDecrement (T &operand)
 
template<typename T >
readAndAdd (T &operand, T value)
 
template<typename T >
readAndSub (T &operand, T value)
 
template<typename T >
readAndOr (T &operand, T value)
 
template<typename T >
readAndAnd (T &operand, T value)
 
template<typename T >
readAndXor (T &operand, T value)
 
template<typename T >
readAndNand (T &operand, T value)
 
template<typename T >
Bool testAndSet (T &operand, T compareValue, T newValue)
 Test and return whether or not the operand is equal to the comparison value. If so, set the operand to the new value. More...
 

Function Documentation

template<typename T >
T om::threads::atomic::readAndSet ( T &  operand,
value 
)

Atomically set the operand to the given value and return the previous operand value.

template<typename T >
T om::threads::atomic::addAndRead ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::incrementAndRead ( T &  operand)
template<typename T >
T om::threads::atomic::subAndRead ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::decrementAndRead ( T &  operand)
template<typename T >
T om::threads::atomic::orAndRead ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::andAndRead ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::xorAndRead ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::nandAndRead ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::readAndIncrement ( T &  operand)
template<typename T >
T om::threads::atomic::readAndDecrement ( T &  operand)
template<typename T >
T om::threads::atomic::readAndAdd ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::readAndSub ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::readAndOr ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::readAndAnd ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::readAndXor ( T &  operand,
value 
)
template<typename T >
T om::threads::atomic::readAndNand ( T &  operand,
value 
)
template<typename T >
Bool om::threads::atomic::testAndSet ( T &  operand,
compareValue,
newValue 
)

Test and return whether or not the operand is equal to the comparison value. If so, set the operand to the new value.