Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at atomic_flag Structure.
Describes an object that atomically sets and clears a bool flag. Operations on atomic flags are always lock-free.
Syntax
struct atomic_flag;
Members
Public Methods
| Name | Description |
|---|---|
| atomic_flag::clear Method | Sets the stored flag to false. |
| atomic_flag::test_and_set Method | Sets the stored flag to true and returns the initial flag value. |
Remarks
atomic_flag objects can be passed to the non-member functions atomic_flag_clear, atomic_flag_clear_explicit, atomic_flag_test_and_set, and atomic_flag_test_and_set_explicit. They can be initialized by using the value ATOMIC_FLAG_INIT.
Requirements
Header: atomic
Namespace: std
atomic_flag::clear Method
Sets the bool flag that is stored in *this to false, within the specified memory_order constraints.
void atomic_flag::clear(memory_order Order = memory_order_seq_cst) volatile noexcept;
void atomic_flag::clear(memory_order Order = memory_order_seq_cst) noexcept;
Parameters
Order
A memory_order.
atomic_flag::test_and_set Method
Sets the bool flag that is stored in *this to true, within the specified memory_order constraints.
bool atomic_flag::test_and_set(memory_order Order = memory_order_seq_cst) volatile noexcept;
bool atomic_flag::test_and_set(memory_order Order = memory_order_seq_cst) noexcept;
Parameters
Order
A memory_order.
Return Value
The initial value of the flag that is stored in *this.