<QtCompare> - Classes and helpers for defining comparison operators
<QtCompare> ヘッダーファイルは、Qt::*_ordering
型と比較演算子を定義するヘルパーマクロを定義しています。さらに...
Header: | #include <QtCompare> |
関数
(since 6.7) auto | qCompareThreeWay(const LeftType &lhs, const RightType &rhs) |
詳しい説明
このヘッダーは、std::*_ordering
型の Qt C++17 バックポートであるQt::partial_ordering 型、Qt::weak_ordering 型、Qt::strong_ordering 型を紹介します。
このヘッダーには、C++17 で 3 者間比較を実装するための関数も含まれています。
Qt::compareThreeWay()
関数のオーバーロードは、組み込み C++ 型の 3 者間比較を提供します。
qCompareThreeWay() テンプレートは、一般的な 3 者間比較の実装として機能します。この関数の実装では、Qt::compareThreeWay()
および freecompareThreeWay()
関数に依存しています。
関数説明
[since 6.7]
template <typename LeftType, typename RightType> auto qCompareThreeWay(const LeftType &lhs, const RightType &rhs)
lhs とrhs で 3 者比較を行い、結果として Qt の順序型の 1 つを返します。この関数は C++17 と C++20 の両方で使用できます。
実際に返される型はLeftType
とRightType
に依存します。
注: この関数テンプレートは、compareThreeWay()
が(LeftType, RightType)
ペアまたは逆の(RightType, LeftType)
ペアに対して実装されている場合にのみ使用できます。
このメソッドは以下と等価です。
using Qt::compareThreeWay; return compareThreeWay(lhs, rhs);
ここで、Qt::compareThreeWay
は組み込み型に対する三元比較の Qt 実装です。
フリーのcompareThreeWay
関数は、カスタム型のための三 者比較を提供する必要があります。この関数はQtの順序型のいずれかを返す必要があります。
Qtはいくつかの型に対してcompareThreeWay
の実装を提供しています。
注意: Qtの型については、compareThreeWay()
を再実装しないでください。将来のQtリリースでは、より多くのQt型がサポートされる予定です。
この関数は、LeftType
とRightType
について何も知らない場合に、ジェネリックコードで主に使用してください。
型がわかっている場合は
Qt::compareThreeWay
組み込み型にはcompareThreeWay
カスタム型
C++20 以降でのみコンパイルされるコードでは、operator<=>()
を直接使用してください。
この関数は Qt 6.7 で導入されました。
Qt::partial_ordering 、Qt::weak_ordering 、Qt::strong_orderingも参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。