Spec-Zone.ru › C++

std::atomic_flag_clear, std::atomic_flag_clear_explicit

Определён в заголовочном файле <atomic>
void atomic_flag_clear( volatile std::atomic_flag* obj ) noexcept;
(1) (начиная с C++11)
void atomic_flag_clear( std::atomic_flag* obj ) noexcept;
(2) (начиная с C++11)
void atomic_flag_clear_explicit( volatile std::atomic_flag* obj, 
                                 std::memory_order order ) noexcept;
(3) (начиная с C++11)
void atomic_flag_clear_explicit( std::atomic_flag* obj, 
                                 std::memory_order order ) noexcept;
(4) (начиная с C++11)

Атомарно изменяет состояние std::atomic_flag, на который указывает obj, на сброшенное (false).

1,2) Порядок синхронизации памяти — std::memory_order_seq_cst.
3,4) Порядок синхронизации памяти — order.
Если order равен одному из std::memory_order_consume, std::memory_order_acquire и std::memory_order_acq_rel, поведение не определено.

Параметры

obj - указатель на std::atomic_flag для доступа
order - порядок синхронизации памяти

Примечания

std::atomic_flag_clear и std::atomic_flag_clear_explicit могут быть реализованы соответственно как obj->clear() и obj->clear(order).

Отчёты об ошибках

Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.

DR Применяется к Опубликованное поведение Корректное поведение
LWG 2138 C++11 order мог быть std::memory_order_consume в этом случае поведение не определено

См. также

atomic_flag
(C++11)
атомарный логический тип без блокировок
(класс)
atomic_flag_test_and_setatomic_flag_test_and_set_explicit
(C++11)(C++11)
атомарно устанавливает флаг в true и возвращает его предыдущее значение
(функция)
memory_order
(C++11)
задаёт ограничения на порядок доступа к памяти для данной атомарной операции
(перечисление)
Документация по C для atomic_flag_clear, atomic_flag_clear_explicit

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/atomic/atomic_flag_clear

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API