10 #ifndef BOOST_DETAIL_ATOMIC_GENERIC_CAS_HPP 11 #define BOOST_DETAIL_ATOMIC_GENERIC_CAS_HPP 13 #define BOOST_ATOMIC_CHAR_LOCK_FREE 2 14 #define BOOST_ATOMIC_SHORT_LOCK_FREE 2 15 #define BOOST_ATOMIC_INT_LOCK_FREE 2 16 #define BOOST_ATOMIC_LONG_LOCK_FREE (sizeof(long) <= 4 ? 2 : 0) 17 #define BOOST_ATOMIC_LLONG_LOCK_FREE (sizeof(long long) <= 4 ? 2 : 0) 18 #define BOOST_ATOMIC_ADDRESS_LOCK_FREE (sizeof(void *) <= 4 ? 2 : 0) 19 #define BOOST_ATOMIC_BOOL_LOCK_FREE 2 23 #define BOOST_ATOMIC_THREAD_FENCE 2 98 T found = __sync_val_compare_and_swap(ptr, expected, desired);
99 bool success = (found == expected);
static void platform_fence_before_store(memory_order order)
static void platform_fence_after_load(memory_order order)
static void atomic_thread_fence(memory_order order)
static void platform_fence_after_store(memory_order order)
bool platform_cmpxchg32_strong(T &expected, T desired, volatile T *ptr)
static void platform_fence_after(memory_order order)
static void platform_fence_before(memory_order order)