Структура atomic_flag

Описывает объект, который автоматически устанавливает и очищает флаг bool. Операции с атомарными флагами всегда неблокирующие.

Синтаксис

struct atomic_flag;

Участники

Открытые методы

Имя Описание
пусто Устанавливает сохраненный флаг в значение false.
test_and_set Устанавливает сохраненный флаг в значение true и возвращает начальное значение флага.

Замечания

Объекты atomic_flag могут передаваться в функции atomic_flag_clear, atomic_flag_clear_explicit, atomic_flag_test_and_set и atomic_flag_test_and_set_explicit, которые не являются функциями-членами. Их можно инициализировать с помощью значения ATOMIC_FLAG_INIT.

Требования

Заголовок:<atomic>

Пространство имен: std

atomic_flag::clear

Устанавливает флаг bool, хранящийся в объекте *thisfalse с соблюдением указанных ограничений memory_order.

void atomic_flag::clear(memory_order Order = memory_order_seq_cst) volatile noexcept;
void atomic_flag::clear(memory_order Order = memory_order_seq_cst) noexcept;

Параметры

Заказ
Перечисление memory_order.

atomic_flag::test_and_set

Устанавливает флаг bool, хранящийся в объекте *thistrue с соблюдением указанных ограничений memory_order.

bool atomic_flag::test_and_set(memory_order Order = memory_order_seq_cst) volatile noexcept;
bool atomic_flag::test_and_set(memory_order Order = memory_order_seq_cst) noexcept;

Параметры

Заказ
Перечисление memory_order.

Возвращаемое значение

Начальное значение флага, который хранится в *this.

См. также

<atomic>