Spec-Zone.ru › C++

std::atomic_flag::clear

Определено в заголовочном файле <atomic>
void clear( std::memory_order order =
                std::memory_order_seq_cst ) volatile noexcept;
(1) (начиная с C++11)
void clear( std::memory_order order =
                std::memory_order_seq_cst ) noexcept;
(2) (начиная с C++11)

Атомарно изменяет состояние std::atomic_flag на очищенное (false). Порядок доступа к памяти определяется значением order.

Если order равен одному из значений std::memory_order_consume, std::memory_order_acquire и std::memory_order_acq_rel, поведение не определено.

Параметры

order - порядок синхронизации памяти

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

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

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

См. также

test_and_set
атомарно устанавливает флаг в true и получает его предыдущее значение
(функция-член общего доступа)
atomic_flag_clearatomic_flag_clear_explicit
(C++11)(C++11)
атомарно устанавливает значение флага в false
(функция)
memory_order
(C++11)
задаёт ограничения на порядок доступа к памяти для указанной атомарной операции
(перечисление)

© 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