Provides the wrapper type
Volatile, which wraps a reference to any copy-able type and allows
for volatile memory access to wrapped value. Volatile memory accesses are never optimized away
by the compiler, and are useful in many low-level systems programming and concurrent contexts.
The wrapper types do not enforce any atomicity guarantees; to also get atomicity, consider
looking at the
Atomic wrapper types found in
Allows creating read-only and write-only
Wraps a reference to make accesses to the referenced value volatile.