Namespaces
Variants
Views
Actions

std::once_flag

From cppreference.com
< cpp‎ | thread
Revision as of 17:32, 9 July 2013 by P12bot (Talk | contribs)

 
 
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)
once_flag
(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 <mutex>
class once_flag;
(since C++11)

The class std::once_flag is a helper structure for std::call_once.

An object of type std::once_flag that is passed to multiple calls to std::call_once allows those calls to coordinate with each other such that only one of the calls will actually run to completion.

std::once_flag is noncopyable.

Contents

Member functions

std::once_flag::once_flag

once_flag();

Constructs an once_flag object. The internal state is set to indicate that no function has been called yet.

Parameters

(none)

Exceptions

noexcept specification:  
noexcept
  

See also

(C++11)
invokes a function only once even if called from multiple threads
(function template) [edit]