D.3.9. Специализации шаблона std::atomic

Предоставляются специализации шаблона std::atomic для целочисленных и указательных типов. Для целочисленных типов специализации обеспечивают атомарные операции сложения, вычитания и поразрядные в дополнение к имеющимся в основном шаблоне. Для указательных типов в дополнение к основному шаблону предоставляются арифметические операции над указателями.

Имеются специализации для следующих целочисленных типов:

std::atomic<bool>

std::atomic<char>

std::atomic<signed char>

std::atomic<unsigned char>

std::atomic<short>

std::atomic<unsigned short>

std::atomic<int>

std::atomic<unsigned>

std::atomic<long>

std::atomic<unsigned long>

std::atomic<long long>

std::atomic<unsigned long long>

std::atomic<wchar_t>

std::atomic<char16_t>

std::atomic<char32_t>

а также для типа std::atomic<T*> при любом типе T.