Namespaces
Variants

std::partial_order

cppreference.net에서
 
 
유틸리티 라이브러리
일반 유틸리티
관계 연산자 (C++20에서 폐지됨)
정수 비교 함수
(C++20)(C++20)(C++20)    
(C++20)
교체타입 연산
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
공통 어휘 타입
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
헤더 <compare>
inline namespace /* unspecified */ {
    inline constexpr /* unspecified */ partial_order = /* unspecified */;
}
(C++20 이후)에 정의됨
호출 시그니처
template< class T, class U >
    requires /* see below */
constexpr std::partial_ordering
    partial_order( T&& t, U&& u ) noexcept(/* see below */);

3방 비교를 사용하여 두 값을 비교하고 std::partial_ordering 타입의 결과를 생성합니다.

tu를 표현식으로 두고 TU가 각각 decltype((t))decltype((u))을 나타낼 때, std::partial_order(t, u)표현식-동등합니다.:

  • std::is_same_v<std::decay_t<T>, std::decay_t<U>>true인 경우:
    • std::partial_ordering(partial_order(t, u)), 만약 std::partial_order의 선언을 포함하지 않는 문맥에서 오버로드 해석을 수행하여 올바른 형식의 표현식이라면,
    • 그렇지 않으면, std::partial_ordering(std::compare_three_way()(t, u)), 만약 올바른 형식이라면,
    • 그렇지 않으면, std::partial_ordering(std::weak_order(t, u)), 만약 올바른 형식이라면.
  • 다른 모든 경우에는 표현식이 잘못된 형식이며, 이는 템플릿 인스턴스화의 즉시 문맥에 나타날 때 치환 실패로 이어질 수 있습니다.

커스터마이제이션 포인트 객체

이름 std::partial_order customization point object 를 나타내며, 이는 function object 의 const literal semiregular 클래스 타입입니다. 자세한 내용은 CustomizationPointObject 를 참조하십시오.

예제

참고 항목

6개의 연산자를 모두 지원하며, 대체 불가능하고 비교 불가능한 값을 허용하는 3-way 비교의 결과 타입
(클래스)
3-way 비교를 수행하고 std::strong_ordering 타입의 결과를 생성함
(커스터마이제이션 포인트 객체)
(C++20)
3-way 비교를 수행하고 std::weak_ordering 타입의 결과를 생성함
(커스터마이제이션 포인트 객체)
3-way 비교를 수행하고 std::partial_ordering 타입의 결과를 생성함, operator <=> 를 사용할 수 없는 경우에도 동작
(커스터마이제이션 포인트 객체)