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) 103 #endif // __cplusplus Wrapper class for easy use of XsAtomicIntValue values.
iterator operator++(int)
A thread-safe (ts) container which minimally emulates a std::map<>'s [] and find() methods but which ...
volatile XsAtomicIntValue m_value
The actual value.
#define XsAtomicInt_preDecrement(a)
Decrease the value by one unit (prefix notation).
GLsizei const GLfloat * value
#define XsAtomicInt_postIncrement(a)
Increase the value by one unit (postfix notation).
#define XsAtomicInt_preIncrement(a)
Increase the value by one unit (prefix notation).
#define XsAtomicInt_postDecrement(a)
Decrease the value by one unit (postfix notation).
struct XsAtomicInt XsAtomicInt