std::atomic_flag::test_and_set

From cppreference.com
< cpplrm; | atomiclrm; | atomic flag
Defined in header <atomic>
bool test_and_set(std::memory_order order = std::memory_order_seq_cst) volatile noexcept;
(1) (since C++11)
bool test_and_set(std::memory_order order = std::memory_order_seq_cst) noexcept;
(2) (since C++11)

Atomically changes the state of a std::atomic_flag to set (true) and returns the value it held before.

Parameters

order - the memory synchronization ordering for this operation


See also

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