QPartialOrdering Class
QPartialOrdering は、並べ替えのない比較結果を表します。詳細...
Header: | #include <QPartialOrdering> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Since: | Qt 6.0 |
パブリック関数
QPartialOrdering(std::partial_ordering stdorder) | |
std::partial_ordering | operator std::partial_ordering() const |
静的パブリックメンバ
const QPartialOrdering | Equivalent |
const QPartialOrdering | Greater |
const QPartialOrdering | Less |
const QPartialOrdering | Unordered |
const QPartialOrdering | equivalent |
const QPartialOrdering | greater |
const QPartialOrdering | less |
const QPartialOrdering | unordered |
関連する非メンバー
(since 6.7) bool | is_eq(QPartialOrdering o) |
(since 6.7) bool | is_gt(QPartialOrdering o) |
(since 6.7) bool | is_gteq(QPartialOrdering o) |
(since 6.7) bool | is_lt(QPartialOrdering o) |
(since 6.7) bool | is_lteq(QPartialOrdering o) |
(since 6.7) bool | is_neq(QPartialOrdering o) |
bool | operator!=(QPartialOrdering lhs, QPartialOrdering rhs) |
bool | operator==(QPartialOrdering lhs, QPartialOrdering rhs) |
詳細説明
QPartialOrdering 型の値は、通常、3 者間比較関数から返されます。このような関数は2つのオブジェクトを比較し、それらが順序付けされているかどうか、順序付けされている場合はその順序を確定します。つまり、すべての値のペアが順序付けされているわけではありません。
QPartialOrderingには4つの値があり、以下の記号定数で表されます:
- less 左オペランドが右オペランドより小さいことを表します;
- equivalent 2つのオペランドが等価であることを表します;
- greater 左オペランドが右オペランドより大きいことを表します;
- unordered 2つのオペランドが順序付けされていないことを表します。
QPartialOrdering は、インスタンスをリテラル 0 と比較することで、イディオムに使用されます:
// given a, b, c, d as objects of some type that allows for a 3-way compare, // and a compare function declared as follows: QPartialOrdering compare(T lhs, T rhs); // defined out-of-line ~~~ QPartialOrdering result = compare(a, b); if (result < 0) { // a is less than b } if (compare(c, d) >= 0) { // c is greater than or equal to d }
QPartialOrdering::unordered をリテラル 0 と比較すると、常にfalse
の結果が返されます。
Qt::strong_ordering 、Qt::weak_ordering 、比較型の概要も参照してください 。
メンバ関数ドキュメント
[constexpr noexcept]
QPartialOrdering::QPartialOrdering(std::partial_ordering stdorder)
以下のルールを使用して、stdorder から QPartialOrdering オブジェクトを構築します:
- std::partial_ordering::less はless に変換します。
- std::partial_ordering::equivalent はequivalent に変換します。
- std::partial_ordering::greater はgreater に変換されます。
- std::partial_ordering::unordered に変換します。unordered
[constexpr noexcept]
std::partial_ordering QPartialOrdering::operator std::partial_ordering() const
このQPartialOrdering の値を、以下の規則で std::partial_ordering オブジェクトに変換します:
- less std::partial_ordering::less に変換します。
- equivalent std::partial_ordering::equivalent に変換します。
- greater は std::partial_ordering::greater に変換されます。
- unordered は std::partial_ordering::unordered に変換します。
メンバ変数の説明
const QPartialOrdering QPartialOrdering::Equivalent
2つのオペランドが等価である比較の結果を表します。
const QPartialOrdering QPartialOrdering::Greater
左オペランドが右オペランドより大きい比較結果を表します。
const QPartialOrdering QPartialOrdering::Less
左オペランドが右オペランドより小さい比較結果を表します。
const QPartialOrdering QPartialOrdering::Unordered
2つのオペランド間に順序関係がない比較の結果を表します。
const QPartialOrdering QPartialOrdering::equivalent
2つのオペランドが等価である比較の結果を表します。
const QPartialOrdering QPartialOrdering::greater
左オペランドが右オペランドより大きい比較結果を表します。
const QPartialOrdering QPartialOrdering::less
左オペランドが右オペランドより小さい比較結果を表します。
const QPartialOrdering QPartialOrdering::unordered
2つのオペランド間に順序関係がない比較の結果を表します。
関連する非会員
[constexpr noexcept, since 6.7]
bool is_eq(QPartialOrdering o)
[constexpr noexcept, since 6.7]
bool is_gt(QPartialOrdering o)
[constexpr noexcept, since 6.7]
bool is_gteq(QPartialOrdering o)
[constexpr noexcept, since 6.7]
bool is_lt(QPartialOrdering o)
[constexpr noexcept, since 6.7]
bool is_lteq(QPartialOrdering o)
[constexpr noexcept, since 6.7]
bool is_neq(QPartialOrdering o)
o を 6 つの関係演算子のいずれかに変換します:
関数 | 操作 |
---|---|
is_eq | o == 0 |
is_neq | o != 0 |
is_lt | o < 0 |
is_lteq | o <= 0 |
is_gt | o > 0 |
is_gteq | o >= 0 |
これらの関数は、std::partial_ordering
との互換性のために提供されています。
この関数は Qt 6.7 で導入されました。
[constexpr noexcept]
bool operator!=(QPartialOrdering lhs, QPartialOrdering rhs)
lhs とrhs が異なる結果を表す場合は真を返し、そうでない場合は真を返します。
[constexpr noexcept]
bool operator==(QPartialOrdering lhs, QPartialOrdering rhs)
lhs とrhs が同じ結果を表す場合は真を返し、そうでない場合は偽を返します。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。