std:: partial_order
|
헤더 파일에 정의됨
<compare>
|
||
|
inline
namespace
/* unspecified */
{
inline
constexpr
/* unspecified */
partial_order
=
/* unspecified */
;
|
(C++20부터) | |
|
호출 시그니처
|
||
|
template
<
class
T,
class
U
>
requires
/* see below */
|
||
두 값을 3-way 비교 방식으로 비교하고
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_ordering
(
partial_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
<=>
를 사용할 수 없는 경우에도 동작
(커스터마이제이션 포인트 객체) |