Namespaces
Variants

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

From cppreference.net
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) operator ( ) の戻り値型 (1) ( synth-three-way )。

パラメータ

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)
タプル内の値を辞書式に比較
(関数テンプレート)
(C++11) (C++11) (C++20で削除) (C++11) (C++20で削除) (C++11) (C++20で削除) (C++11) (C++20で削除) (C++11) (C++20で削除) (C++20)
2つの array の値を辞書順で比較する
(関数テンプレート)
(C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20)
2つの 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)
2つの forward_list の値を辞書順で比較する
(関数テンプレート)
(C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20)
2つの list の値を辞書順に比較する
(関数テンプレート)
(C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20)
2つの vector の値を辞書順に比較する
(関数テンプレート)
(C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20)
2つの map の値を辞書順で比較する
(関数テンプレート)
(C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20)
2つの multimap の値を辞書順で比較する
(関数テンプレート)
(C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20)
2つの set の値を辞書順で比較する
(関数テンプレート)
(C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20で削除) (C++20)
2つの multiset の値を辞書順で比較する
(関数テンプレート)