std::partial_order
cppreference.net에서
| 헤더 <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 타입의 결과를 생성합니다.
t와 u를 표현식으로 두고 T와 U가 각각 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
를 참조하십시오.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++20)
|
6개의 연산자를 모두 지원하며, 대체 불가능하고 비교 불가능한 값을 허용하는 3-way 비교의 결과 타입
(클래스) |
|
(C++20)
|
3-way 비교를 수행하고
std::strong_ordering
타입의 결과를 생성함
(커스터마이제이션 포인트 객체) |
|
(C++20)
|
3-way 비교를 수행하고
std::weak_ordering
타입의 결과를 생성함
(커스터마이제이션 포인트 객체) |
|
(C++20)
|
3-way 비교를 수행하고
std::partial_ordering
타입의 결과를 생성함,
operator
<=>
를 사용할 수 없는 경우에도 동작
(커스터마이제이션 포인트 객체) |