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 | в этом случае поведение не определено |
См. также
атомарно устанавливает флаг в true и получает его предыдущее значение (функция-член общего доступа) |
|
|
(C++11)(C++11) | атомарно устанавливает значение флага в false (функция) |
|
(C++11) | задаёт ограничения на порядок доступа к памяти для указанной атомарной операции (перечисление) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/atomic/atomic_flag/clear