Skip to content

Latest commit

 

History

History
87 lines (65 loc) · 1.79 KB

File metadata and controls

87 lines (65 loc) · 1.79 KB

atomic_flag_clear

  • atomic[meta header]
  • std[meta namespace]
  • function[meta id-type]
  • cpp11[meta cpp]
namespace std {
  void
    atomic_flag_clear(volatile atomic_flag* object) noexcept; // (1) C++11

  void
    atomic_flag_clear(atomic_flag* object) noexcept;          // (2) C++11
  constexpr void
    atomic_flag_clear(atomic_flag* object) noexcept;          // (2) C++26
}
  • atomic_flag[link atomic_flag.md]

概要

アトミックにフラグをクリアする

効果

memory_order_seq_cstのメモリオーダーにしたがって、アトミックにfalse値を書き込む。

戻り値

なし

例外

投げない

#include <iostream>
#include <atomic>

int main()
{
  std::atomic_flag x = ATOMIC_FLAG_INIT;

  std::cout << std::boolalpha;
  {
    // 値をtrueに設定する(変更前の値はfalse)
    bool result = std::atomic_flag_test_and_set(&x);
    std::cout << result << std::endl;
  }

  // 値をfalseにする
  std::atomic_flag_clear(&x);

  {
    // 値をtrueに設定する(変更前の値はfalse)
    bool result = std::atomic_flag_test_and_set(&x);
    std::cout << result << std::endl;
  }
}
  • std::atomic_flag_clear[color ff0000]
  • std::atomic_flag[link atomic_flag.md]
  • ATOMIC_FLAG_INIT[link atomic_flag_init.md]
  • std::atomic_flag_test_and_set[link atomic_flag_test_and_set.md]

出力

false
false

バージョン

言語

  • C++11

処理系

  • Clang: ??
  • GCC: 4.7.0 [mark verified]
  • Visual C++: 2012 [mark verified], 2013 [mark verified]

参照