std::atomic_flag_clear,std::atomic_flag_clear_explicit(3)

NAME
std::atomic_flag_clear,std::atomic_flag_clear_explicit - std::atomic_flag_clear,std::atomic_flag_clear_explicit

Synopsis
   Defined in header <atomic>
   void atomic_flag_clear( volatile
   std::atomic_flag* p ) noexcept;
   void atomic_flag_clear( std::atomic_flag* p )
   noexcept;
   void atomic_flag_clear_explicit( volatile (1) (since C++11)
   std::atomic_flag* p,
   std::memory_order order ) noexcept; (2) (since C++11)
   void atomic_flag_clear_explicit(
   std::atomic_flag* p,
   std::memory_order order ) noexcept;
   Atomically changes the state of a std::atomic_flag pointed to by p to clear (false).

Parameters
   p - pointer to std::atomic_flag to access
           the memory synchronization ordering for this operation: only
   order - std::memory_order_relaxed, std::memory_order_release, or
           std::memory_order_seq_cst are permitted.

Return value
   (none)

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);
   }

See also
   atomic_flag the lock-free boolean atomic type
   (C++11) (class)
   atomic_flag_test_and_set atomically sets the flag to true and returns its
   atomic_flag_test_and_set_explicit previous value
   (C++11) (function)
   (C++11)
   memory_order defines memory ordering constraints for the given
   (C++11) atomic operation
                        (enum)