##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::atomic_flag_clear, std::atomic_flag_clear_explicit

From cppreference.com
< cpp‎ | atomic

Defined in header `<atomic>` |  |

| (1) | (since C++11)
void atomic_flag_clear( volatile std::atomic_flag* p ); |  |
void atomic_flag_clear( std::atomic_flag* p ); |  |
| (2) | (since C++11)
void atomic_flag_clear_explicit( volatile std::atomic_flag* p, std::memory_order order ) |  |
void atomic_flag_clear_explicit( std::atomic_flag* p, std::memory_order order ) |  |

Atomically changes the state of a std::atomic_flag pointed to by `p` to clear (false).

### [edit] Parameters

p | - | pointer to std::atomic_flag to access
order | - | the memory sycnhronization ordering for this operation: only std::memory_order_relaxed, std::memory_order_acquire, or std::memory_order_seq_cst are permitted.

### [edit] Return value

none.

### [edit] Exceptions

`noexcept` specification:
noexcept

### [edit] Possible implementation

First version
    void atomic_flag_clear(volatile std::atomic_flag* p)
    {
        p->clear();
    }
Second version
    void atomic_flag_clear(std::atomic_flag* p)
    {
        p->clear();
    }
Third version
    void atomic_flag_clear_explicit(volatile std::atomic_flag* p,
                                    std::memory_order order)
    {
        p->clear(order);
    }
Fourth version
    void atomic_flag_clear_explicit(std::atomic_flag* p,
                                    std::memory_order order)
    {
        p->clear(order);
    }

### [edit] See also

atomic_flag (C++11) | the lock-free boolean atomic type (class) [edit]
atomic_flag_test_and_set atomic_flag_test_and_set_explicit (C++11)(C++11) | atomically sets the flag to true and returns its previous value (function) [edit]
memory_order (C++11) | defines memory ordering constraints for the given atomic operation (typedef) [edit]
C documentation for atomic_flag_clear, atomic_flag_clear_explicit

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/atomic/atomic_flag_clear&oldid=65603"