最終更新日時(UTC): 2025年09月22日 08時59分17秒
Akira Takahashi が更新

履歴 編集

function
<atomic>

# std::atomic_ref::fetch_fminimum(C++26)

    constexpr T
      fetch_fminimum(difference_type operand,
                     memory_order order = memory_order_seq_cst
                     ) const noexcept;                         // (1) C++26

## 概要

最小値を設定・取得する。

この関数は、現在の値と`operand`の小さい方を求め、その値で現在の値を置き換え、その値を返す。

## 効果

`order`で指定されたメモリオーダーにしたがって、現在の値と`operand`の最小値を求めて、その値で現在の値を置き換え、その値を返す

## 例外

投げない

## 備考

- この関数は、`atomic_ref`クラスの浮動小数点数型で定義される
- 浮動小数点数型
  - `std::fminimum()`関数と同様の動作をする

## 例

    #include <iostream>
    #include <atomic>

    int main()
    {
      int x = 3;
      int ret = std::atomic_ref{x}.fetch_fminimum(2);

      std::cout << ret << std::endl;
      std::cout << x << std::endl;
    }

### 出力

    2
    2

## バージョン

### 言語

- C++26

### 処理系

- Clang: 21 ❌
- GCC: 15 ❌

## 参照

- P0493R5 Atomic minimum/maximum
- P3309R3 `constexpr atomic` and `atomic_ref`
- P3008R6 Atomic floating-point min/max