std::atomic_flag:: clear

From cppreference.com
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe Reclamation
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
Free functions for atomic operations
Free functions for atomic flags
Defined in header <atomic>
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.

Parameters

order - the memory synchronization ordering

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

See also

atomically sets the flag to true and obtains its previous value
(public member function)
atomically sets the value of the flag to false
(function)
defines memory ordering constraints for the given atomic operation
(enum)