Namespaces
Variants

std:: atomic_flag_clear, std:: atomic_flag_clear_explicit

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
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
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
atomic_flag_clear atomic_flag_clear_explicit
(C++11) (C++11)
定義済みヘッダ <atomic>
void atomic_flag_clear ( volatile std:: atomic_flag * obj ) noexcept ;
(1) (C++11以降)
void atomic_flag_clear ( std:: atomic_flag * obj ) noexcept ;
(2) (C++11以降)
void atomic_flag_clear_explicit ( volatile std:: atomic_flag * obj,
std:: memory_order order ) noexcept ;
(3) (C++11以降)
void atomic_flag_clear_explicit ( std:: atomic_flag * obj,
std:: memory_order order ) noexcept ;
(4) (C++11以降)

std::atomic_flag が指す obj の状態をクリア状態( false )にアトミックに変更します。

1,2) メモリ同期順序は std:: memory_order_seq_cst です。
3,4) メモリ同期順序は order です。
orderが order のいずれかである場合、 std:: memory_order_consume std:: memory_order_acquire および std:: memory_order_acq_rel の動作は未定義です。

目次

パラメータ

obj - アクセスする std::atomic_flag へのポインタ
order - メモリ同期順序

注記

std::atomic_flag_clear および std::atomic_flag_clear_explicit は、それぞれ obj - > clear ( ) および obj - > clear ( order ) として実装可能です。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 2138 C++11 order std:: memory_order_consume である可能性があった この場合の動作は未定義

関連項目

ロックフリーなブーリアンアトミック型
(クラス)
フラグをアトミックに true に設定し、以前の値を返す
(関数)
指定されたアトミック操作に対するメモリ順序制約を定義する
(列挙型)
Cドキュメント for atomic_flag_clear , atomic_flag_clear_explicit