MemoryOrder

Specifies the memory ordering semantics of an atomic operation.

Values

ValueMeaning
raw0

Not sequenced. Corresponds to LLVM AtomicOrdering.Monotonic and C++11/C11 memory_order_relaxed.

acq2

Hoist-load + hoist-store barrier. Corresponds to LLVM AtomicOrdering.Acquire and C++11/C11 memory_order_acquire.

rel3

Sink-load + sink-store barrier. Corresponds to LLVM AtomicOrdering.Release and C++11/C11 memory_order_release.

acq_rel4

Acquire + release barrier. Corresponds to LLVM AtomicOrdering.AcquireRelease and C++11/C11 memory_order_acq_rel.

seq5

Fully sequenced (acquire + release). Corresponds to LLVM AtomicOrdering.SequentiallyConsistent and C++11/C11 memory_order_seq_cst.

See Also

Meta