std::compare_partial_order_fallback
cppreference.net에서
| 헤더 <compare>
|
||
inline namespace /* unspecified */ {
inline constexpr /* unspecified */
compare_partial_order_fallback = /* unspecified */;
}
|
(C++20부터)에 정의됨 | |
| 호출 시그니처 |
||
template< class T, class U >
requires /* see below */
constexpr std::partial_ordering
compare_partial_order_fallback( T&& t, U&& u ) noexcept(/* see below */);
|
(C++20부터) | |
부분 표현식 t과(와) u에 대해 std::partial_ordering 타입의 결과를 생성하는 삼방 비교를 수행합니다. 연산자 <=>를 사용할 수 없는 경우에도 가능합니다.
std::decay_t<T>과(와) std::decay_t<U>>이 동일한 타입인 경우, std::compare_partial_order_fallback(t, u)는 표현식-동등합니다:
std::partial_order(t, u)잘 구성된 표현식인 경우;- 그렇지 않으면, 표현식
t == u ? std::partial_ordering::equivalent :t < u ? std::partial_ordering::less :u < t ? std::partial_ordering::greater :std::partial_ordering::unordered,t == u및t < u이 모두 잘 구성되고u < t,decltype(t == u)및decltype(t < u)각각이decltype(u < t)부울-테스트 가능을 모델링하는 경우, 단 과(와)t은 한 번만 평가됩니다.u다른 모든 경우에
는 잘못 구성되며, 템플릿 인스턴스화의 즉시 컨텍스트에 나타날 때 std::compare_partial_order_fallback(t, u)대체 실패가 발생할 수 있습니다.
커스터마이제이션 포인트 객체
이름
std::compare_partial_order_fallback
는
사용자 지정 지점 객체
를 나타내며, 이는
함수 객체
의 const
리터럴
semiregular
클래스 타입입니다. 자세한 내용은
CustomizationPointObject
를 참조하십시오.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
|
LWG 2114
( P2167R3 ) |
C++20 |
폴백 메커니즘이 반환 타입이
bool 로 변환 가능하기만을 요구함 |
제약 조건이 강화됨 |
| LWG 3465 | C++20 | 폴백 메커니즘이 u < t 가 형성 가능할 것을 요구하지 않음 | 요구됨 |
| LWG 4157 | C++20 | P2167R3 이 LWG 이슈 3465 의 해결을 덮어씀 | 해결이 복원됨 |
참고 항목
|
(C++20)
|
3방향 비교를 수행하고
std::partial_ordering
타입의 결과를 생성함
(커스터마이제이션 포인트 객체) |