std::atomic_flag::test_and_set

From cppreference.com
< cpp‎ | atomic‎ | atomic flag
 
 
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
Generic lock management
(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)
Safe Reclamation
(C++26)
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>
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 order

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)