ä½ç½®ï¼é¦é¡µ > > std::weak_ordering
std::weak_ordering
| å®ä¹äºå¤´æä»¶ <compare>
|
||
| class weak_ordering; |
(C++20 èµ·) | |
类类å std::weak_ordering æ¯è¿ç§ä¸è·¯æ¯è¾çç»æç±»åï¼
- æ¥çº³ææå ä¸ªå ³ç³»è¿ç®ç¬¦ï¼ == ã != ã < ã <= ã > ã >= ï¼
- ä¸éå«å¯æ¿æ¢æ§ï¼è¥ a çä»·äº b ï¼å f(a) å¯è½ä¸çä»·äº f(b) ãè¿é f ææä»£ç彿°ä» å¯ç»ç±åæ°çå ¬å¼ const æåè¯»åæ¾èçæ¯è¾ç¶æãæ¢è¨ä¹ï¼çä»·çå¼å¯è½å¯åºå«ã
- ä¸å 许ä¸å¯æ¯è¾å¼ï¼ a < b ã a == b å a > b å¿ é¡»æ°æä¸ä¸ªå¿ 须为 true
常é
ç±»å std::weak_ordering æä¸ä¸ªåæ³å¼ï¼å®ç°ä¸ºå
¶ç±»åç const éææ°æ®æåï¼
| Â | |
| æå常é | å®ä¹ |
| less(inline constexpr) [éæ] |
std::weak_ordering ç±»ååæ³å¼ï¼æç¤ºå°äºï¼å
åºï¼å
³ç³» (å ¬å¼éææå常é) |
| equivalent(inline constexpr) [éæ] |
std::weak_ordering ç±»ååæ³å¼ï¼æç¤ºçä»·ï¼æ¢éå
åºäº¦éååºï¼ (å ¬å¼éææå常é) |
| greater(inline constexpr) [éæ] |
std::weak_ordering ç±»ååæ³å¼ï¼æç¤ºå¤§äºï¼ååºï¼å
³ç³» (å ¬å¼éææå常é) |
转æ¢
std::weak_ordering å¯éå¼è½¬æ¢ä¸º std::partial_ordering ï¼è std::strong_ordering å¯éå¼è½¬æ¢ä¸º weak_ordering ã
| operator partial_ordering |
å° std::partial_ordering çéå¼è½¬æ¢ (å ¬å¼æå彿°) |
std::weak_ordering::operator partial_ordering
| constexpr operator partial_ordering() const noexcept; |
||
è¿åå¼
è¥ v 为 less å为 std::partial_ordering::less ï¼è¥ v 为 greater å为 std::partial_ordering::greater ï¼è¥ v 为 equivalent å为
std::partial_ordering::equivalent ã
æ¯è¾
æ¯è¾è¿ç®ç¬¦å¨æ¤ç±»åå¼ååé¢é â0â é´å®ä¹ãè¿æ¯æç¨è¡¨è¾¾å¼ a <=> b == 0 æ a <=> b < 0 转æ¢ä¸è·¯æ¯è¾çç»æä¸ºå¸å°å ³ç³»ï¼è§ std::is_eq ã std::is_lt çã
è¿äºå½æ°å¯¹é常æ é宿æé宿¥æ¾ä¸å¯è§ï¼èåªè½å¨ std::weak_ordering ä¸ºåæ°çå
³èç±»æ¶ç±åæ°ä¾èµæ¥æ¾æ¾å°ã
è¥ç¨åºè¯å¾å° weak_ordering ä¸ä»»ä½å¼äºæ´æ°åé¢é â0â çå
容æ¯è¾ï¼åå
¶è¡ä¸ºæªå®ä¹ã
| operator==operator<operator>operator<=operator>=operator<=> |
ä¸é¶æ weak_ordering æ¯è¾ (彿°) |
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 | - | 任使¥ååé¢é¶å®åçç±»åçä¸ä½¿ç¨å½¢å |
è¿åå¼
v 为 equivalent å为 true ï¼è¥ v 为 less æ greater å为 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 | - | 任使¥ååé¢é¶å®åçç±»åçä¸ä½¿ç¨å½¢å |
è¿åå¼
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 | - | 任使¥ååé¢é¶å®åçç±»åçä¸ä½¿ç¨å½¢å |
è¿åå¼
v 为 less æ equivalent å为 true ï¼èè¥ v 为 greater å为 false ãv 为 greater æ equivalent å为 true ï¼èè¥ v 为 less å为 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 | - | 任使¥ååé¢é¶å®åçç±»åçä¸ä½¿ç¨å½¢å |
è¿åå¼
v 为 greater å为 true ï¼èè¥ v 为 less æ equivalent å为 false ãv 为 less å为 true ï¼èè¥ v 为 greater æ 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 | - | 任使¥ååé¢é¶å®åçç±»åçä¸ä½¿ç¨å½¢å |
è¿åå¼
v 为 greater æ equivalent å为 true ï¼èè¥ v 为 less å为 false ãv 为 less æ equivalent å为 true ï¼èè¥ v 为 greater å为 false ã
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 | - | 任使¥ååé¢é¶å®åçç±»åçä¸ä½¿ç¨å½¢å |
è¿åå¼
v 为 less å为 greater ï¼è¥ v 为 greater å为 less ï¼å¦å为 v ã
示ä¾
| æ¬èæªå®æ åå ï¼ææ ç¤ºä¾ |
åé
| (C++20) |
ä¸è·¯æ¯è¾çç»æç±»åï¼æ¯æææ 6 ç§è¿ç®ç¬¦ä¸å¯æ¿æ¢ (ç±») |
| (C++20) |
ä¸è·¯æ¯è¾çç»æç±»åï¼æ¯æææ 6 ç§è¿ç®ç¬¦ï¼ä¸å¯æ¿æ¢ï¼å¹¶å
许ä¸å¯æ¯è¾çå¼ (ç±») |