最終更新日時: 2024年12月09日 22時04分29秒 (JST)
suomesta が更新

履歴 編集

function
<compare>

# std::strong_ordering::operator partial_ordering(C++20)

    constexpr operator partial_ordering() const noexcept;

## 概要

`std::partial_ordering`型に変換する。

## 戻り値

以下と等価：

    return *this == 0 ? partial_ordering::equivalent :
           *this <  0 ? partial_ordering::less :
                        partial_ordering::greater;

## 例外

投げない

## 例

    #include <iostream>
    #include <compare>

    int main()
    {
      std::strong_ordering strong = 1 <=> 2;
      std::partial_ordering prtial = strong;

      std::cout << std::boolalpha;
      std::cout << (prtial == 0) << std::endl;
      std::cout << (prtial != 0) << std::endl;
      std::cout << (prtial <  0) << std::endl;
      std::cout << (prtial <= 0) << std::endl;
      std::cout << (prtial >  0) << std::endl;
      std::cout << (prtial >= 0) << std::endl;
    }

### 出力

    false
    true
    true
    true
    false
    false

## バージョン

### 言語

- C++20

### 処理系

- Clang: 8.0 ✅
- GCC: 10.1 ✅
- Visual C++: 2019 ✅

## 参照

- P0515R3 Consistent comparison
- P0768R1 Library support for the spaceship (comparison) operator