名稱空間
變體
操作

synth-three-way, synth-three-way-result

來自 cppreference.com
< cpp‎ | 標準庫
constexpr auto synth-three-way = /* 見下文 */;
(1) (C++20 起)
(僅作說明*)
template< class T, class U = T >

using synth-three-way-result =

    decltype(synth-three-way(std::declval<T&>(), std::declval<U&>()));
(2) (C++20 起)
(僅作說明*)
1) 一個函式物件,其 operator() 行為如同綜合性的三路比較函式。等價於
constexpr auto synth-three-way =
    []<class T, class U>(const T& t, const U& u)
        requires requires
        {
            { t < u } -> boolean-testable;
            { u < t } -> boolean-testable;
        }
    {
        if constexpr (std::three_way_comparable_with<T, U>)
            return t <=> u;
        else
        {
            if (t < u)
                return std::weak_ordering::less;
            if (u < t)
                return std::weak_ordering::greater;
            return std::weak_ordering::equivalent;
        }
    };
2) (1)synth-three-way)的 operator() 的返回型別。

[編輯] 引數

t, u - 要比較的值

[編輯] 返回值

比較結果。

[編輯] 參閱

(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
字典序比較 pair 中的值
(函式模板) [編輯]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
按字典序比較 tuple 中的值
(函式模板) [編輯]
(C++11)(C++11)(C++20 中移除)(C++11)(C++20 中移除)(C++11)(C++20 中移除)(C++11)(C++20 中移除)(C++11)(C++20 中移除)(C++20)
按字典序比較兩個 array 的值
(函式模板) [編輯]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
按字典序比較兩個 deque 的值
(函式模板) [編輯]
(C++11)(C++11)(C++20 中移除)(C++11)(C++20 中移除)(C++11)(C++20 中移除)(C++11)(C++20 中移除)(C++11)(C++20 中移除)(C++20)
按字典順序比較兩個 forward_list 的值
(函式模板) [編輯]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
以字典序比較兩個 list 的值
(函式模板) [編輯]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
字典序比較兩個 vector 的值
(函式模板) [編輯]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
按字典順序比較兩個 map 的值
(函式模板) [編輯]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
字典序比較兩個 multimap 的值
(函式模板) [編輯]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
按字典順序比較兩個 set 的值
(函式模板) [編輯]
(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20 中移除)(C++20)
按字典序比較兩個 multiset 的值
(函式模板) [編輯]