12 #ifndef ROC_CORE_ATOMIC_H_
13 #define ROC_CORE_ATOMIC_H_
29 operator long()
const {
30 return __sync_add_and_fetch(&value_, 0);
39 __sync_lock_test_and_set(&value_, 1);
41 __sync_and_and_fetch(&value_, 0);
48 return __sync_add_and_fetch(&value_, 1);
53 return __sync_sub_and_fetch(&value_, 1);
long operator=(bool v)
Atomic store.
long operator--()
Atomic decrement.
long operator++()
Atomic increment.
Atomic(long value=0)
Initialize with given value.
Base class for non-copyable objects.