atomicLoad
fn
T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(auto ref return scope const T val) if (!is(T == shared U, U) && !is(T == shared inout U, U) && !is(T == shared const U, U)) pure nothrow @nogc @trustedLoads 'val' from memory and returns it. The memory barrier specified by 'ms' is applied to the operation, which is fully sequenced by default. Valid memory orders are MemoryOrder.raw, MemoryOrder.acq, and MemoryOrder.seq.
Parameters
val | The target variable. |
Returns
The value of 'val'.
fn
T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(auto ref return scope shared const T val) if (!hasUnsharedIndirections!T) pure nothrow @nogc @trustedDitto
fn
TailShared!T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(auto ref shared const T val) if (hasUnsharedIndirections!T) pure nothrow @nogc @trustedDitto