partial_ordering Class

class Qt::partial_ordering

Qt::partial_ordering 는 정렬되지 않은 결과를 허용하는 비교 결과를 나타냅니다. 더 보기...

Header: #include <QtCompare>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
이후: Qt 6.7

공용 함수

partial_ordering(std::partial_ordering stdorder)
std::partial_ordering operator std::partial_ordering() const

정적 공용 멤버

const Qt::partial_ordering equivalent
const Qt::partial_ordering greater
const Qt::partial_ordering less
const Qt::partial_ordering unordered
bool is_eq(Qt::partial_ordering o)
bool is_gt(Qt::partial_ordering o)
bool is_gteq(Qt::partial_ordering o)
bool is_lt(Qt::partial_ordering o)
bool is_lteq(Qt::partial_ordering o)
bool is_neq(Qt::partial_ordering o)
bool operator!=(Qt::partial_ordering lhs, Qt::partial_ordering rhs)
bool operator==(Qt::partial_ordering lhs, Qt::partial_ordering rhs)

상세 설명

Qt::partial_ordering 타입의 값은 일반적으로 3방향 비교 함수에서 반환됩니다. 이러한 함수는 두 객체를 비교하여 순서가 있는지 여부와 순서가 있는 경우 그 순서를 설정합니다. 이 반환 유형을 사용하여 순서가 부분적임을 나타냅니다. 즉, 모든 값 쌍이 정렬되는 것은 아닙니다.

Qt::partial_ordering 에는 다음과 같은 기호 상수로 표현되는 네 개의 값이 있습니다:

  • less 왼쪽 피연산자가 오른쪽 피연산자보다 작음을 나타냅니다;
  • equivalent 는 두 피연산자가 같음을 나타냅니다;
  • greater 왼쪽 피연산자가 오른쪽 피연산자보다 크다는 것을 나타냅니다;
  • unordered 는 두 피연산자의 순서가 지정되지 않았음을 나타냅니다.

Qt::partial_ordering 는 예를 들어 다음과 같이 인스턴스를 리터럴 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:

Qt::partial_ordering compare(T lhs, T rhs); // defined out-of-line
~~~

Qt::partial_ordering 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
}

Qt::partial_ordering::unordered 을 리터럴 0 과 비교하면 항상 false 결과가 반환됩니다.

Qt::strong_ordering, Qt::weak_ordering, 비교 유형 개요를참조하세요 .

멤버 함수 문서

[constexpr noexcept] partial_ordering::partial_ordering(std::partial_ordering stdorder)

다음 규칙을 사용하여 stdorder 에서 Qt::partial_ordering 객체를 생성합니다:

  • 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 partial_ordering::operator std::partial_ordering() const

다음 규칙을 사용하여 이 Qt::partial_ordering 값을 std::partial_ordering 객체로 변환합니다:

  • less std::partial_ordering::less로 변환합니다.
  • equivalent std::partial_ordering::equivalent로 변환합니다.
  • greater std::partial_ordering::greater로 변환합니다.
  • unordered std::partial_ordering::unordered로 변환합니다.

멤버 변수 문서

const Qt::partial_ordering partial_ordering::equivalent

두 피연산자가 동일한 비교 결과를 나타냅니다.

const Qt::partial_ordering partial_ordering::greater

왼쪽 피연산자가 오른쪽 피연산자보다 큰 비교 결과를 나타냅니다.

const Qt::partial_ordering partial_ordering::less

왼쪽 피연산자가 오른쪽 피연산자보다 작은 비교 결과를 나타냅니다.

const Qt::partial_ordering partial_ordering::unordered

두 피연산자 사이에 순서 관계가 없는 비교 결과를 나타냅니다.

관련 비회원

[constexpr noexcept] bool is_eq(Qt::partial_ordering o)

[constexpr noexcept] bool is_gt(Qt::partial_ordering o)

[constexpr noexcept] bool is_gteq(Qt::partial_ordering o)

[constexpr noexcept] bool is_lt(Qt::partial_ordering o)

[constexpr noexcept] bool is_lteq(Qt::partial_ordering o)

[constexpr noexcept] bool is_neq(Qt::partial_ordering o)

o 를 6개의 관계형 연산자 중 하나의 결과로 변환합니다:

함수연산자
is_eqo == 0
is_neqo != 0
is_lto < 0
is_lteqo <= 0
is_gto > 0
is_gteqo >= 0

이 함수는 std::partial_ordering 와의 호환성을 위해 제공됩니다.

[constexpr noexcept] bool operator!=(Qt::partial_ordering lhs, Qt::partial_ordering rhs)

lhsrhs 이 서로 다른 결과를 나타내면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.

[constexpr noexcept] bool operator==(Qt::partial_ordering lhs, Qt::partial_ordering rhs)

lhsrhs 이 동일한 결과를 나타내면 참을 반환하고, 그렇지 않으면 거짓을 반환합니다.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.