std::atomic_flag::clear - cppreference.com (original) (raw)

Defined in header
void clear( std::memory_order order = std::memory_order_seq_cst ) volatile noexcept; (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 a std::atomic_flag to clear (false).

If order is one of std::memory_order_consume, std::memory_order_acquire and std::memory_order_acq_rel, the behavior is undefined.

[edit] Parameters

order - the memory synchronization ordering

[edit] Defect reports

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 be std::memory_order_consume the behavior is undefined in this case

[edit] See also