21 #define XSATOMICINT_INITIALIZER \
30 #define atomicIncrement(a) InterlockedIncrement64(&a)
31 #define atomicDecrement(a) InterlockedDecrement64(&a)
33 #define atomicIncrement(a) InterlockedIncrement(&a)
34 #define atomicDecrement(a) InterlockedDecrement(&a)
38 #define atomicIncrement(a) __sync_add_and_fetch(&a, 1)
39 #define atomicDecrement(a) __sync_sub_and_fetch(&a, 1)
41 #define atomicIncrement(a) (++a)
42 #define atomicDecrement(a) (--a)
48 #define XsAtomicInt_preIncrement(a) \
49 ((XsAtomicIntValue)atomicIncrement((a)->m_value))
53 #define XsAtomicInt_preDecrement(a) \
54 ((XsAtomicIntValue)atomicDecrement((a)->m_value))
58 #define XsAtomicInt_postIncrement(a) \
59 ((XsAtomicIntValue)atomicIncrement((a)->m_value) - 1)
63 #define XsAtomicInt_postDecrement(a) \
64 ((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