A type that supports atomic integer operations through a separate atomic storage representation.
protocol AtomicInteger : AtomicValue, FixedWidthInteger where Self.AtomicRepresentation : AtomicIntegerStorage
Atomic integer types provide a number of additional atomic operations beyond the ones supported by
AtomicValue, such as atomic increments/decrements as well as atomic bitwise operations. These may be mapped to dedicated instructions that can be more efficient than implementations based on the general compare and exchange operation; however, this depends on the capabilities of the compiler and the underlying hardware.