std::atomic_flag::test_and_set

From cppreference.com
< cpp‎ | atomic‎ | atomic flag
 
 
Concurrency support library
Threads
(C++11)
(C++20)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Free functions for atomic operations
Free functions for atomic flags
Memory ordering
Mutual exclusion
(C++11)
Generic lock management
(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)
 
 
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)