Поделиться через


атомарное строение

Описывает объект, который выполняет атомарные операции на хранимое значение типа Ty.

template <class Ty>
struct atomic;

Члены

Hh874651.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

atomic::atomic конструктор

Конструкции атомарных объектов.

Hh874651.collapse_all(ru-ru,VS.110).gifОткрытые операторы

Имя

Описание

оператор Ty atomic::operator

Считывает и возвращает сохраненные значения.(метод atomic::load)

оператор atomic::operator=

Использует указанное значение для замены хранимое значение.(метод atomic::store)

оператор atomic::operator++

Сохраненное значение увеличивается на единицу.Используются только специализации интеграл и указатель.

оператор atomic::operator+=

Добавляет указанное значение с сохраненным значением.Используются только специализации интеграл и указатель.

atomic::operator-- оператор

Уменьшает хранимое значение.Используются только специализации интеграл и указатель.

оператор atomic::operator-=

Вычитает указанное значение с сохраненным значением.Используются только специализации интеграл и указатель.

оператор atomic::operator&=

Выполняет побитовую and на указанное значение и хранимые значения.Использовать только для целых специализации.

atomic::operator|Оператор =

Выполняет побитовую or на указанное значение и хранимые значения.Использовать только для целых специализации.

оператор atomic::operator^=

Выполняет побитовую exclusive or на указанное значение и хранимые значения.Использовать только для целых специализации.

Hh874651.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

метод atomic::compare_exchange_strong

Выполняет atomic_compare_and_exchange операции на this и возвращает результат.

метод atomic::compare_exchange_weak

Выполняет weak_atomic_compare_and_exchange операции на this и возвращает результат.

метод atomic::fetch_add

Добавляет указанное значение с сохраненным значением.

метод atomic::fetch_and

Выполняет побитовую and на указанное значение и хранимые значения.

метод atomic::fetch_or

Выполняет побитовую or на указанное значение и хранимые значения.

метод atomic::fetch_sub

Вычитает указанное значение с сохраненным значением.

метод atomic::fetch_xor

Выполняет побитовую exclusive or на указанное значение и хранимые значения.

метод atomic::is_lock_free

Указывает ли атомарные операции на this , блокировку свободное.Атомарный тип блокировку свободное Если атомарных операций этого типа блокировки.

метод atomic::load

Считывает и возвращает сохраненные значения.

метод atomic::store

Использует указанное значение для замены хранимое значение.

Заметки

Тип 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

См. также

Ссылки

<atomic>

Другие ресурсы

Файлы заголовков