21 #define XSATOMICINT_INITIALIZER { 0 }
27 #define atomicIncrement(a) InterlockedIncrement64(&a)
28 #define atomicDecrement(a) InterlockedDecrement64(&a)
30 #define atomicIncrement(a) InterlockedIncrement(&a)
31 #define atomicDecrement(a) InterlockedDecrement(&a)
35 #define atomicIncrement(a) __sync_add_and_fetch(&a, 1)
36 #define atomicDecrement(a) __sync_sub_and_fetch(&a, 1)
38 #define atomicIncrement(a) (++a)
39 #define atomicDecrement(a) (--a)
44 #define XsAtomicInt_preIncrement(a) ((XsAtomicIntValue) atomicIncrement((a)->m_value))
47 #define XsAtomicInt_preDecrement(a) ((XsAtomicIntValue) atomicDecrement((a)->m_value))
50 #define XsAtomicInt_postIncrement(a) ((XsAtomicIntValue) atomicIncrement((a)->m_value) - 1)
53 #define XsAtomicInt_postDecrement(a) ((XsAtomicIntValue) atomicDecrement((a)->m_value) + 1)
GLsizei const GLfloat * value
iterator operator++(int)
A thread-safe (ts) container which minimally emulates a std::map<>'s [] and find() methods but which ...
Wrapper class for easy use of XsAtomicIntValue values.
volatile XsAtomicIntValue m_value
The actual value.
#define XsAtomicInt_preIncrement(a)
Increase the value by one unit (prefix notation).
#define XsAtomicInt_preDecrement(a)
Decrease the value by one unit (prefix notation).
#define XsAtomicInt_postIncrement(a)
Increase the value by one unit (postfix notation).
#define XsAtomicInt_postDecrement(a)
Decrease the value by one unit (postfix notation).
struct XsAtomicInt XsAtomicInt