名前空間
変種
操作

std::atomic_flag_test, std::atomic_flag_test_explicit

From cppreference.com
< cpp‎ | atomic
 
 
並行性サポートライブラリ
スレッド
(C++11)
(C++20)
this_thread 名前空間
(C++11)
(C++11)
(C++11)
協調的なキャンセル
排他制御
(C++11)
汎用ロック管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
安全なメモリ解放 (Safe Reclamation)
(C++26)
ハザードポインタ
アトミック型
(C++11)
(C++20)
アトミック型の初期化
(C++11)(C++20で非推奨)
(C++11)(C++20で非推奨)
メモリオーダー
(C++11)(C++26で非推奨)
アトミック操作のためのフリー関数
アトミックフラグのためのフリー関数
atomic_flag_testatomic_flag_test_explicit
(C++20)(C++20)
 
ヘッダー <atomic> で定義
bool atomic_flag_test( const volatile std::atomic_flag* object ) noexcept;
(1) (C++20以降)
bool atomic_flag_test( const std::atomic_flag* object ) noexcept;
(2) (C++20以降)
bool atomic_flag_test_explicit( const volatile std::atomic_flag* object,
                                std::memory_order order ) noexcept;
(3) (C++20以降)
bool atomic_flag_test_explicit( const std::atomic_flag* object,
                                std::memory_order order ) noexcept;
(4) (C++20以降)

アトミックに*objectの値を読み込み、その値を返します。

1,2) メモリ同期順序はstd::memory_order_seq_cstです。
3,4) メモリ同期順序はorderです。
orderstd::memory_order::releaseまたはstd::memory_order::acq_relのいずれかである場合、動作は未定義です。

目次

[編集] パラメータ

オブジェクト (object) - 読み取るatomic_flagオブジェクトへのポインタ
order - メモリ同期順序

[編集] 戻り値

アトミックに読み取られた値。

[編集] 注意

機能テストマクロ 規格 機能
__cpp_lib_atomic_flag_test 201907L (C++20) std::atomic_flag::test

[編集]

[編集] 関連項目

(C++20)
フラグの値をアトミックに返す
(std::atomic_flagpublicメンバ関数) [[編集]]
English 日本語 中文(简体) 中文(繁體)