атомарное строение
Описывает объект, который выполняет атомарные операции на хранимое значение типа Ty.
template <class Ty>
struct atomic;
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Конструкции атомарных объектов. |
Открытые операторы
Имя |
Описание |
---|---|
Считывает и возвращает сохраненные значения.(метод atomic::load) |
|
Использует указанное значение для замены хранимое значение.(метод atomic::store) |
|
Сохраненное значение увеличивается на единицу.Используются только специализации интеграл и указатель. |
|
Добавляет указанное значение с сохраненным значением.Используются только специализации интеграл и указатель. |
|
Уменьшает хранимое значение.Используются только специализации интеграл и указатель. |
|
Вычитает указанное значение с сохраненным значением.Используются только специализации интеграл и указатель. |
|
Выполняет побитовую and на указанное значение и хранимые значения.Использовать только для целых специализации. |
|
Выполняет побитовую or на указанное значение и хранимые значения.Использовать только для целых специализации. |
|
Выполняет побитовую exclusive or на указанное значение и хранимые значения.Использовать только для целых специализации. |
Открытые методы
Имя |
Описание |
---|---|
Выполняет atomic_compare_and_exchange операции на this и возвращает результат. |
|
Выполняет weak_atomic_compare_and_exchange операции на this и возвращает результат. |
|
Добавляет указанное значение с сохраненным значением. |
|
Выполняет побитовую and на указанное значение и хранимые значения. |
|
Выполняет побитовую or на указанное значение и хранимые значения. |
|
Вычитает указанное значение с сохраненным значением. |
|
Выполняет побитовую exclusive or на указанное значение и хранимые значения. |
|
Указывает ли атомарные операции на this , блокировку свободное.Атомарный тип блокировку свободное Если атомарных операций этого типа блокировки. |
|
Считывает и возвращает сохраненные значения. |
|
Использует указанное значение для замены хранимое значение. |
Заметки
Тип Ty должен быть Разумеется доступен.То есть, с помощью memcpy для копирования его байтов должен быть допустимым Ty объекта, который совпадает с исходным объектом.compare_exchange_weak И compare_exchange_strong член функции, используйте memcmp для определения двух Ty значения равны.Эти функции не будет использовать Ty-определение operator==.Функции-члены atomic с помощью memcpy для копирования значений типа Ty.
Частичная специализация atomic<Ty *>, существует для всех типов указателей.Специализация обеспечивает возможность добавления смещения к значению управляемый указатель или вычитания смещение от него.Арифметические операции принимают аргумент типа ptrdiff_t и измените аргумент согласно размер Ty согласующиеся с обычного адреса арифметические операции.
Специализация существует для каждого целочисленного типа, за исключением bool.Каждый специализация обеспечивает широкий набор методов для атомарных арифметических и логических операций.
atomic<char> |
atomic<signed char> |
atomic<unsigned char> |
atomic<char16_t> |
atomic<char32_t> |
atomic<wchar_t> |
atomic<short> |
atomic<unsigned short> |
atomic<int> |
atomic<unsigned int> |
atomic<long> |
atomic<unsigned long> |
atomic<long long> |
atomic<unsigned long long> |
Целочисленный специализации являются производными от соответствующего **atomic_**integral типов.Например atomic<unsigned int> является производным от atomic_uint.
Требования
Заголовок: элементарной
Пространство имен: std