std::atomic_flag::clear

From cppreference.com
< cpp‎ | atomic‎ | atomic flag
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
(C++11)
(C++17)
Generic lock management
(C++11)
(C++11)
(C++17)
(C++11)
(C++14)
(C++11)
(C++11)
(C++11)
(C++11) (C++11) (C++11) (C++11) (C++11) (C++11)
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Safe Reclamation
(C++26)
(C++26)
(C++26)
Hazard Pointers
(C++26)
Atomic types
(C++11)
(C++20)
(C++11)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Memory ordering
(C++11)
(C++11)
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

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)
(C++11)
defines memory ordering constraints for the given atomic operation
(enum)