3 // This header should be included AFTER <cds/cxx11_atomic.h> if needed
7 static inline atomics::memory_order convert_to_store_order( atomics::memory_order order )
10 case atomics::memory_order_acquire:
11 case atomics::memory_order_consume:
12 return atomics::memory_order_relaxed;
13 case atomics::memory_order_acq_rel:
14 return atomics::memory_order_release;
20 static inline atomics::memory_order convert_to_load_order( atomics::memory_order order )
23 case atomics::memory_order_release:
24 return atomics::memory_order_relaxed;
25 case atomics::memory_order_acq_rel:
26 return atomics::memory_order_acquire;
32 template <typename T, bool Volatile>
36 struct add_volatile<T, false>
42 struct add_volatile<T, true>
44 typedef T volatile type;