Skip to content

Latest commit

 

History

History
100 lines (76 loc) · 2.46 KB

clear.md

File metadata and controls

100 lines (76 loc) · 2.46 KB

clear

  • atomic[meta header]
  • std[meta namespace]
  • atomic_flag[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
void
  clear(memory_order order = memory_order_seq_cst
        ) volatile noexcept;                      // (1) C++11

void
  clear(memory_order order = memory_order_seq_cst
       ) noexcept;                                // (2) C++11
constexpr void
  clear(memory_order order = memory_order_seq_cst
       ) noexcept;                                // (2) C++26
  • memory_order[link /reference/atomic/memory_order.md]
  • memory_order_seq_cst[link /reference/atomic/memory_order.md]

概要

フラグをクリアする

要件

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

効果

orderで指定されたメモリオーダーにしたがって、アトミックにfalse値を書き込む。

戻り値

なし

例外

投げない

#include <iostream>
#include <atomic>

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

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

  // 値をfalseにする
  x.clear();

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

出力

false
false

バージョン

言語

  • C++11

処理系

参照