std::weak_ordering
| 헤더 <compare>
|
||
class weak_ordering;
|
에 정의됨(C++20부터) | |
클래스 형식 std::weak_ordering은 다음과 같은 삼지 비교의 결과 형식입니다:
- 모든 여섯 관계 연산자(
==,!=,<,<=,>,>=)를 허용합니다.
- 대체 가능성을 의미하지 않습니다:
a이b와 동등하면,f(a)은f(b)와 동등하지 않을 수 있으며, 여기서f은 인수의 public const 멤버를 통해 접근 가능한 비교-주요 상태만 읽는 함수를 나타냅니다. 즉, 동등한 값이 구별 가능할 수 있습니다. - 비교 불가능한 값을 허용하지 않습니다:
a < b,a == b,a > b중 정확히 하나가true여야 합니다.
상수
타입
std::weak_ordering
은 해당 타입의 const static 데이터 멤버로 구현된 세 가지 유효한 값을 가집니다:
| 이름 | 정의 |
|
inline
constexpr
std
::
weak_ordering
less
[static]
|
미만(보다 앞서 정렬됨) 관계를 나타내는 유효한 값
(공개 정적 멤버 상수) |
|
inline
constexpr
std
::
weak_ordering
equivalent
[static]
|
동등함(앞서 정렬되지도 않고 뒤에 정렬되지도 않음)을 나타내는 유효한 값
(공개 정적 멤버 상수) |
|
inline
constexpr
std
::
weak_ordering
greater
[static]
|
초과(보다 뒤에 정렬됨) 관계를 나타내는 유효한 값
(공개 정적 멤버 상수) |
변환
std::weak_ordering
는
std::partial_ordering
으로 암시적으로 변환 가능한 반면,
std::strong_ordering
는
weak_ordering
으로 암시적으로 변환 가능합니다.
|
operator partial_ordering
|
std::partial_ordering으로의 암시적 변환
std::partial_ordering
(public member function) |
std::weak_ordering:: operator partial_ordering
|
constexpr
operator partial_ordering
(
)
const
noexcept
;
|
||
반환 값
std::partial_ordering::less
는
v
가
less
일 때,
std::partial_ordering::greater
는
v
가
greater
일 때,
std::partial_ordering::equivalent
는
v
가
equivalent
일 때 반환됩니다.
비교
비교 연산자는 이 타입의 값과 리터럴 0 사이에 정의됩니다. 이를 통해 a <=> b == 0 또는 a <=> b < 0 와 같은 표현식을 사용하여 삼중 비교 연산자의 결과를 부울 관계로 변환할 수 있습니다; 자세한 내용은 std::is_eq , std::is_lt 등을 참조하십시오.
이 함수들은 일반적인
unqualified
또는
qualified lookup
으로는 보이지 않으며,
std::weak_ordering
이 인자들의 연관 클래스일 때에만
argument-dependent lookup
을 통해서만 찾을 수 있습니다.
weak_ordering
를 정수 리터럴
0
이외의 값과 비교하려는 프로그램의 동작은 정의되지 않습니다.
|
operator==
operator<
operator>
operator<=
operator>=
operator<=>
|
zero 또는
weak_ordering
과 비교
(function) |
operator==
|
friend
constexpr
bool
operator
==
(
weak_ordering v,
/*unspecified*/
u
)
noexcept
;
|
(1) | |
|
friend
constexpr
bool
operator
==
(
weak_ordering v, weak_ordering w
)
noexcept
=
default
;
|
(2) | |
매개변수
| v, w | - |
std::weak_ordering
검사할 값들
|
| u | - | 리터럴 0 인수를 받아들이는 임의 타입의 사용되지 않는 매개변수 |
반환 값
v
가
equivalent
인 경우,
false
만약
v
가
less
또는
greater
인 경우
operator<
|
friend
constexpr
bool
operator
<
(
weak_ordering v,
/*unspecified*/
u
)
noexcept
;
|
(1) | |
|
friend
constexpr
bool
operator
<
(
/*unspecified*/
u, weak_ordering v
)
noexcept
;
|
(2) | |
매개변수
| v | - |
확인할
std::weak_ordering
값
|
| u | - | 리터럴 0 인수를 받아들이는 임의 타입의 사용되지 않는 매개변수 |
반환 값
v
가
less
이면
true
를 반환하고,
v
가
greater
이거나
equivalent
이면
false
를 반환합니다
v
가
greater
이면
true
를 반환하고,
v
가
less
이거나
equivalent
이면
false
를 반환합니다
operator<=
|
friend
constexpr
bool
operator
<=
(
weak_ordering v,
/*unspecified*/
u
)
noexcept
;
|
(1) | |
|
friend
constexpr
bool
operator
<=
(
/*unspecified*/
u, weak_ordering v
)
noexcept
;
|
(2) | |
매개변수
| v | - |
확인할
std::weak_ordering
값
|
| u | - | 리터럴 0 인수를 허용하는 모든 타입의 사용되지 않는 매개변수 |
반환 값
v
가
less
이거나
equivalent
인 경우, 그리고
false
만약
v
가
greater
인 경우
v
가
greater
이거나
equivalent
인 경우, 그리고
false
만약
v
가
less
인 경우
operator>
|
friend
constexpr
bool
operator
>
(
weak_ordering v,
/*unspecified*/
u
)
noexcept
;
|
(1) | |
|
friend
constexpr
bool
operator
>
(
/*unspecified*/
u, weak_ordering v
)
noexcept
;
|
(2) | |
매개변수
| v | - |
확인할
std::weak_ordering
값
|
| u | - | 리터럴 0 인수를 허용하는 임의의 타입의 사용되지 않는 매개변수 |
반환 값
v
가
greater
이면, 그리고
false
만약
v
가
less
이거나
equivalent
이면
v
가
less
이면, 그리고
false
만약
v
가
greater
이거나
equivalent
이면
operator>=
|
friend
constexpr
bool
operator
>=
(
weak_ordering v,
/*unspecified*/
u
)
noexcept
;
|
(1) | |
|
friend
constexpr
bool
operator
>=
(
/*unspecified*/
u, weak_ordering v
)
noexcept
;
|
(2) | |
매개변수
| v | - |
검사할
std::weak_ordering
값
|
| u | - | 리터럴 0 인수를 허용하는 임의의 타입의 사용되지 않는 매개변수 |
반환 값
v
가
greater
이거나
equivalent
인 경우, 그리고
false
만약
v
가
less
인 경우
v
가
less
이거나
equivalent
인 경우, 그리고
false
만약
v
가
greater
인 경우
operator<=>
|
friend
constexpr
weak_ordering operator
<=>
(
weak_ordering v,
/*unspecified*/
u
)
noexcept
;
|
(1) | |
|
friend
constexpr
weak_ordering operator
<=>
(
/*unspecified*/
u, weak_ordering v
)
noexcept
;
|
(2) | |
매개변수
| v | - |
확인할
std::weak_ordering
값
|
| u | - | 리터럴 0 인수를 받아들이는 임의의 타입의 사용되지 않는 매개변수 |
반환 값
greater
만약
v
가
less
인 경우,
less
만약
v
가
greater
인 경우, 그 외의 경우
v
.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++20)
|
6가지 연산자를 모두 지원하고 대체 가능한 3-way 비교의 결과 타입
(class) |
|
(C++20)
|
6가지 연산자를 모두 지원하고, 대체 불가능하며, 비교 불가능한 값을 허용하는 3-way 비교의 결과 타입
(class) |