|
enum | AtomicOrdering : uint8 {
Unordered,
Relaxed,
Acquire,
Release,
AcqRel,
SeqCst,
ORDERMASK = 7,
Flag_Volatile = 8,
Flag_ReturnModified = 0x10
} |
|
enum | RMWAtomicOrdering : uint8 {
Relaxed = (.)AtomicOrdering.Relaxed,
Acquire = (.)AtomicOrdering.Acquire,
Release = (.)AtomicOrdering.Release,
AcqRel = (.)AtomicOrdering.AcqRel,
SeqCst = (.)AtomicOrdering.SeqCst,
Flag_Volatile = (.)AtomicOrdering.Flag_Volatile
} |
|
enum | LoadAtomicOrdering : uint8 { Relaxed = (.)AtomicOrdering.Relaxed,
Acquire = (.)AtomicOrdering.Acquire,
SeqCst = (.)AtomicOrdering.SeqCst,
Flag_Volatile = (.)AtomicOrdering.Flag_Volatile
} |
|
enum | StoreAtomicOrdering : uint8 { Relaxed = (.)AtomicOrdering.Relaxed,
Release = (.)AtomicOrdering.Release,
SeqCst = (.)AtomicOrdering.SeqCst,
Flag_Volatile = (.)AtomicOrdering.Flag_Volatile
} |
|
enum | FenceAtomicOrdering : uint8 { Acquire = (.)AtomicOrdering.Acquire,
Release = (.)AtomicOrdering.Release,
AcqRel = (.)AtomicOrdering.AcqRel,
SeqCst = (.)AtomicOrdering.SeqCst
} |
|
|
static void | Fence< TAtomicOrdering > (TAtomicOrdering ordering=.SeqCst) |
|
static T | Load< T, TAtomicOrdering > (ref T location, TAtomicOrdering ordering=.SeqCst) |
|
static void | Store< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Exchange< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
| Atomically sets a value and returns the original value.
|
|
static T | CompareExchange< T, TAtomicOrdering > (ref T location, T comparand, T value, TAtomicOrdering successOrdering=.SeqCst) |
| Compares 'location' to 'comparand' for equality and, if they are equal, replaces 'location' with 'value' and returns the original value in 'location'. More...
|
|
static T | CompareExchange< T, TSuccessOrdering, TFailOrdering > (ref T location, T comparand, T value, TSuccessOrdering successOrdering, TFailOrdering failOrdering) |
| Compares 'location' to 'comparand' for equality and, if they are equal, replaces 'location' with 'value' and returns the original value in 'location'. More...
|
|
static bool | CompareStore< T, TAtomicOrdering > (ref T location, T comparand, T value, TAtomicOrdering ordering=.SeqCst) |
| Compares 'location' to 'comparand' for equality and, if they are equal, replaces 'location' with 'value' and returns the original value in 'location'. More...
|
|
static bool | CompareStoreWeak< T, TAtomicOrdering > (ref T location, T comparand, T value, TAtomicOrdering ordering=.SeqCst) |
| Compares 'location' to 'comparand' for equality and, if they are equal, replaces 'location' with 'value' and returns the original value in 'location'. More...
|
|
static T | Add< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Add< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeAdd< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeAdd< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Increment< T, TAtomicOrdering > (ref T location, TAtomicOrdering ordering=.SeqCst) |
|
static T | And< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeAnd< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Max< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeMax< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Min< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeMin< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Nand< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeNand< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Or< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeOr< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Sub< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Sub< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeSub< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeSub< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | Decrement< T, TAtomicOrdering > (ref T location, TAtomicOrdering ordering=.SeqCst) |
|
static T | Xor< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|
static T | ExchangeXor< T, TAtomicOrdering > (ref T location, T value, TAtomicOrdering ordering=.SeqCst) |
|