Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 1.75 KB

atomic_flag_test.md

File metadata and controls

75 lines (53 loc) · 1.75 KB

atomic_flag_test

  • atomic[meta header]
  • std[meta namespace]
  • function[meta id-type]
  • cpp20[meta cpp]
namespace std {
  bool atomic_flag_test(const volatile atomic_flag* object) noexcept; // (1) C++20
  bool atomic_flag_test(const atomic_flag* object) noexcept;          // (2) C++20
}

概要

現在の値をbool値として取得する。

要件

orderが以下のメモリオーダーではないこと:

戻り値

アトミックに読み込まれた*thisが指している値を返す

例外

投げない

#include <iostream>
#include <atomic>

int main()
{
  std::cout << std::boolalpha;

  std::atomic_flag x = ATOMIC_FLAG_INIT;
  std::cout << std::atomic_flag_test(&x) << std::endl;

  std::atomic_flag_test_and_set(&x);
  std::cout << std::atomic_flag_test(&x) << std::endl;
}
  • std::atomic_flag_test[color ff0000]
  • std::atomic_flag_test_and_set[link atomic_flag_test_and_set.md]
  • ATOMIC_FLAG_INIT[link /reference/atomic/atomic_flag_init.md]

出力

false
true

バージョン

言語

  • C++20

処理系

  • Clang: (9.0時点で実装なし)
  • GCC: (9.2時点で実装なし)
  • Visual C++: (2019 Update 3時点で実装なし)

参照