|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
atomic_flag::clear | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) | ||||
(C++20) |
Defined in header <atomic> | ||
void clear(std::memory_order order= std::memory_order_seq_cst)volatilenoexcept; | (1) | (since C++11) |
void clear(std::memory_order order= std::memory_order_seq_cst)noexcept; | (2) | (since C++11) |
Atomically changes the state of astd::atomic_flag to clear (false).
Iforder is one ofstd::memory_order_consume,std::memory_order_acquire andstd::memory_order_acq_rel, the behavior is undefined.
| order | - | the memory synchronization ordering |
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
| DR | Applied to | Behavior as published | Correct behavior |
|---|---|---|---|
| LWG 2138 | C++11 | order could bestd::memory_order_consume | the behavior is undefined in this case |
| atomically sets the flag totrue and obtains its previous value (public member function)[edit] | |
(C++11)(C++11) | atomically sets the value of the flag tofalse (function)[edit] |
(C++11) | defines memory ordering constraints for the given atomic operation (enum)[edit] |