Go to the source code of this file.
|
#define | AtomicBeg(Mtx) Mtx.Lock() |
|
#define | AtomicEnd(Mtx) Mtx.UnLock() |
|
#define | AtomicAdd(x, y) x += y |
|
#define | AtomicFAdd(w, x, y) {w = x; x += y;} |
|
#define | AtomicCAS(x, y, z) if (x == y) x = z |
|
#define | AtomicDec(x) x-- |
|
#define | AtomicFAZ(x) x; x = 0 |
|
#define | AtomicFZAP(w, x) {w = x; x = 0;} |
|
#define | AtomicGet(x) x |
|
#define | AtomicInc(x) x++ |
|
#define | AtomicSub(x, y) x -= y |
|
#define | AtomicFSub(w, x, y) {w = x; x -= y;} |
|
#define | AtomicZAP(x) x = 0 |
|
#define | AtomicRet(mtx, x) |
|
#define | CPP_ATOMIC_LOAD(x, order) x |
|
#define | CPP_ATOMIC_STORE(x, val, order) x = val |
|
#define | CPP_ATOMIC_TYPE(kind) kind |
|
#define AtomicAdd |
( |
|
x, |
|
|
|
y |
|
) |
| x += y |
#define AtomicBeg |
( |
|
Mtx | ) |
Mtx.Lock() |
#define AtomicCAS |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| if (x == y) x = z |
#define AtomicDec |
( |
|
x | ) |
x-- |
#define AtomicEnd |
( |
|
Mtx | ) |
Mtx.UnLock() |
#define AtomicFAdd |
( |
|
w, |
|
|
|
x, |
|
|
|
y |
|
) |
| {w = x; x += y;} |
#define AtomicFAZ |
( |
|
x | ) |
x; x = 0 |
#define AtomicFSub |
( |
|
w, |
|
|
|
x, |
|
|
|
y |
|
) |
| {w = x; x -= y;} |
#define AtomicFZAP |
( |
|
w, |
|
|
|
x |
|
) |
| {w = x; x = 0;} |
#define AtomicInc |
( |
|
x | ) |
x++ |
#define AtomicRet |
( |
|
mtx, |
|
|
|
x |
|
) |
| |
Value:{mtx.Lock(); int _ ## x = x; \
mtx.UnLock(); return _ ## x;}
#define AtomicSub |
( |
|
x, |
|
|
|
y |
|
) |
| x -= y |
#define AtomicZAP |
( |
|
x | ) |
x = 0 |
#define CPP_ATOMIC_LOAD |
( |
|
x, |
|
|
|
order |
|
) |
| x |
#define CPP_ATOMIC_STORE |
( |
|
x, |
|
|
|
val, |
|
|
|
order |
|
) |
| x = val |
#define CPP_ATOMIC_TYPE |
( |
|
kind | ) |
kind |