名前空間
変種
操作

atomic_flag_test_and_set, atomic_flag_test_and_set_explicit

提供: cppreference.com
< c‎ | atomic
ヘッダ <stdatomic.h> で定義
_Bool atomic_flag_test_and_set( volatile atomic_flag* obj );
(1) (C11およびそれ以降)
_Bool atomic_flag_test_and_set_explicit( volatile atomic_flag* obj, memory_order order );
(2) (C11およびそれ以降)

obj の指す atomic_flag の状態をアトミックにセット (true) に変更し、以前の値を返します。 1つめのバージョンは memory_order_seq_cst に従ってメモリを順序付けし、2つめのバージョンは order に従ってメモリを順序付けします。

引数は非 volatile と volatile (メモリマップド I/O など) 両方のアトミックフラグのアドレスを受理するための volatile atomic_flag へのポインタです。

目次

[編集] 引数

obj - 変更するアトミックフラグオブジェクトを指すポインタ。
order - この操作に対するメモリ同期順序付け。 すべての値を指定できます

[編集] 戻り値

obj の指すアトミックフラグが保持していた以前の値。

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.17.8.1 The atomic_flag_test_and_set functions (p: 285-286)

[編集] 関連項目

atomic_flag に false を設定します
(関数) [edit]
atomic_flag_test_and_set, atomic_flag_test_and_set_explicitC++リファレンス