atomicLoad

fnT 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 @trusted

Loads '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

valThe target variable.

Returns

The value of 'val'.
fnT atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(auto ref return scope shared const T val) if (!hasUnsharedIndirections!T) pure nothrow @nogc @trusted

Ditto

fnTailShared!T atomicLoad(MemoryOrder ms = MemoryOrder.seq, T)(auto ref shared const T val) if (hasUnsharedIndirections!T) pure nothrow @nogc @trusted

Ditto