Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/thread/once flag"

From cppreference.com
< cpp‎ | thread
(Member functions: fix template)
m (+see c)
 
(17 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{cpp/title|once_flag}}
 
{{cpp/title|once_flag}}
{{cpp/thread/sidebar}}
+
{{cpp/thread/navbar}}
{{ddcl | header=mutex | notes={{mark c++11}} |
+
{{ddcl | header=mutex | since=c++11 |
 
class once_flag;
 
class once_flag;
 
}}
 
}}
  
{{todo}}
+
The class {{tt|std::once_flag}} is a helper structure for {{lc|std::call_once}}.
  
Noncopyable.
+
An object of type {{tt|std::once_flag}} that is passed to multiple calls to {{lc|std::call_once}} allows those calls to coordinate with each other such that only one of the calls will actually run to completion.
 +
 
 +
{{tt|std::once_flag}} is neither copyable nor movable.
  
 
===Member functions===
 
===Member functions===
{{dcl list begin}}
+
{{member | {{small|std::once_flag::}}once_flag |
{{dcl list mem ctor | cpp/thread/once_flag/once_flag | constructs the object}}
+
{{ddcl |
{{dcl list end}}
+
constexpr once_flag() noexcept;
 +
}}
 +
 
 +
Constructs an {{tt|once_flag}} object. The internal state is set to indicate that no function has been called yet.
 +
 
 +
===Parameters===
 +
(none)
 +
 
 +
}}
  
 
===See also===
 
===See also===
{{dcl list begin}}
+
{{dsc begin}}
{{dcl list template | cpp/thread/dcl list call_once}}
+
{{dsc inc | cpp/thread/dsc call_once}}
{{dcl list end}}
+
{{dsc see c | c/thread/call_once | once_flag}}
 +
{{dsc end}}
 +
 
 +
{{langlinks|de|es|fr|it|ja|pt|ru|zh}}

Latest revision as of 06:55, 16 October 2021

 
 
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 neither copyable nor movable.

Contents

[edit] Member functions

std::once_flag::once_flag

constexpr once_flag() noexcept;

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

Parameters

(none)


[edit] See also

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